Quanlong Huang has uploaded this change for review. ( http://gerrit.cloudera.org:8080/24608
Change subject: IMPALA-15175: Support HBO for AnalyticEvalNode cardinality ...................................................................... IMPALA-15175: Support HBO for AnalyticEvalNode cardinality AnalyticEvalNode appends analytic results to the input tuples as new columns. Though they won't change the cardinality, the analytic results could be used in downstream group-by keys, join keys, or predicates, which matters in cardinalities of downstream nodes. So we need to track AnalyticEvalNodes in HBO. The HBO key string of an AnalyticEvalNode consists of - Analytic functions - PartitionBy Exprs - OrderBy Exprs - Window - The child's HBO key string Exprs are canonicalized with operand indexes if the child node has multiple output tuples, e.g., JoinNode. PartitionBy Exprs are sorted since the order doesn't matter. OrderBy Exprs are added using the original order. Testing - Added FE tests and e2e tests Assisted-by: Opus 4.8 (Claude Code) Change-Id: I8d87ab472db9273622f48fa62bb1d8c12e04e86b --- M fe/src/main/java/org/apache/impala/planner/AnalyticEvalNode.java M fe/src/main/java/org/apache/impala/planner/JoinNode.java M fe/src/test/java/org/apache/impala/planner/HboKeyStringTest.java A testdata/workloads/functional-query/queries/QueryTest/hbo-analytic.test M tests/query_test/test_hbo.py 5 files changed, 476 insertions(+), 2 deletions(-) git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/08/24608/1 -- To view, visit http://gerrit.cloudera.org:8080/24608 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I8d87ab472db9273622f48fa62bb1d8c12e04e86b Gerrit-Change-Number: 24608 Gerrit-PatchSet: 1 Gerrit-Owner: Quanlong Huang <[email protected]>
