feat(udf): add Scala UiParameter injection support#4843
feat(udf): add Scala UiParameter injection support#4843carloea2 wants to merge 59 commits intoapache:mainfrom
Conversation
…into feat/ui-parameter
…into feat/ui-parameter
…into feat/ui-parameter
…into feat/ui-parameter
Signed-off-by: Xinyuan Lin <xinyual3@uci.edu>
Signed-off-by: Xinyuan Lin <xinyual3@uci.edu>
Signed-off-by: Xinyuan Lin <xinyual3@uci.edu>
Signed-off-by: carloea2 <carloea2@uci.edu>
# Conflicts: # frontend/src/app/app.module.ts
|
@kunwp1 please confirm if this layout is ok for you to review. Then I can test it locally and request your review once it is ready. |
|
It has 25 files. Can we divide it? Check a related discussion about how to manage PRs #4590 . |
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #4843 +/- ##
============================================
+ Coverage 43.02% 43.20% +0.17%
- Complexity 2029 2032 +3
============================================
Files 957 959 +2
Lines 34077 34221 +144
Branches 3753 3764 +11
============================================
+ Hits 14663 14785 +122
- Misses 18637 18651 +14
- Partials 777 785 +8
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
|
This PR is not going to be merged before the first, so when first is merged it will be reduced. In fact I will close this 2nd and 3rd after approval in the split strategy. And raise the PRs sequentially. I just want to know if @kunwp1 like this split. |
What changes were proposed in this PR?
This is PR 2 of the UiParameter split stack, based on PR 1.
This PR adds Scala-side infrastructure for injecting UI parameter values into Python UDF code, but does not activate it in execution yet.
It includes:
PythonUdfUiParameterInjector.Execution remains unchanged in this PR: Python UDF descriptors still call
OpExecWithCode(code, "python").sequenceDiagram autonumber participant Desc as Scala UDF Descriptor participant Params as uiParameters Metadata participant Injector as PythonUdfUiParameterInjector participant Tests as Injector Specs participant Exec as Existing Execution Path Desc->>Params: Holds inert uiParameters Tests->>Injector: Validate injection behavior Injector->>Injector: Validate names, types, reserved hook Injector->>Injector: Generate hook code when called Desc->>Exec: Still executes original code Note over Desc,Exec: Injector exists but is not wired into runtime yet