[SPARK-51611][SQL] New iteration of single-pass Analyzer functionality#50406
Conversation
bbb202d to
cb6a664
Compare
cb6a664 to
3a039b0
Compare
|
Thanks @mihailoale-db and @mihailotim-db for this work! |
74f9e11 to
84ff648
Compare
50945ae to
d0a91cb
Compare
|
Thanks @mihailom-db for EXCEPT/INTERSECT! |
d0a91cb to
e86d0ee
Compare
|
The test failures seem to be valid |
|
Yeah, sorry... let me fix that real quick... |
e86d0ee to
ab27723
Compare
|
@cloud-fan tests passed! |
|
thanks, merging to master! |
|
@vladimirg-db hi, does new Analyzer's principle similar to calcite's validator? |
|
Hello @iwanttobepowerful. I never worked with Calcite. The new Analyzer processes the logical plan in one* bottom-up traversal. For example, expression IDs get propagated bottom-up (ExpressionIdAssigner) or subqueries can find outer references from already resolved subtrees. That means that sometimes we have to build additional data-structures as we descend to leaf nodes before starting the bottom-up analysis, e.g. for CTE resolution we build a stack of lookup scopes.
|
thanks!!! very nice |
What changes were proposed in this pull request?
New single-pass Analyzer features:
Why are the changes needed?
To replace the fixed-point Analyzer with the single-pass one.
Does this PR introduce any user-facing change?
No, single-pass Analyzer is not yet enabled by default.
How was this patch tested?
Logical plans were compared in tests with
ANALYZER_DUAL_RUN_LEGACY_AND_SINGLE_PASS_RESOLVER.Was this patch authored or co-authored using generative AI tooling?
Yes.