Hello Anonymous Coward (816), Joe McDonnell, Steve Carlin, Impala Public
Jenkins,
I'd like you to reexamine a change. Please visit
http://gerrit.cloudera.org:8080/22091
to look at the new patch set (#10).
Change subject: IMPALA-13531: Calcite CTE frontend
......................................................................
IMPALA-13531: Calcite CTE frontend
Support identifying CTEs in the Calcite planner for single-node plans.
CTE detection is based on HIVE-28259.
Adds new logical nodes Sequence, CTEProducer, and CTEConsumer, matching
constructs outlined in "Optimization of Common Table Expressions in MPP
Database Systems" by El-Helw et al. Implements them with physical
SequenceNode, CTEBufferNode, and CTEScanNode.
Adds cte_threshold query option to control when CTE replacement occurs.
CTE replacement will only occur when number of occurences exceeds the
threshold. Defaults to -1 so CTEs are disabled.
Adds cte_suggester_class command-line option to enable providing a
different Suggester implementation. Defaults to the built-in
IdentitySuggester.
Adds basic explain tests.
Change-Id: Id0840c0859d2fe25628d799a18d302cee1eb36e8
---
M be/src/service/frontend.cc
M be/src/service/query-options.cc
M be/src/service/query-options.h
M be/src/util/backend-gflag-util.cc
M common/thrift/BackendGflags.thrift
M common/thrift/ImpalaService.thrift
M common/thrift/PlanNodes.thrift
M common/thrift/Query.thrift
A fe/src/main/java/org/apache/impala/planner/CTEBufferNode.java
A fe/src/main/java/org/apache/impala/planner/CTEScanNode.java
A fe/src/main/java/org/apache/impala/planner/SequenceNode.java
M fe/src/main/java/org/apache/impala/service/BackendConfig.java
M fe/src/main/java/org/apache/impala/service/Frontend.java
M
java/calcite-planner/src/main/java/org/apache/impala/calcite/coercenodes/CoerceNodes.java
A
java/calcite-planner/src/main/java/org/apache/impala/calcite/cte/Exception.java
A
java/calcite-planner/src/main/java/org/apache/impala/calcite/cte/IdentitySuggester.java
A java/calcite-planner/src/main/java/org/apache/impala/calcite/cte/Registry.java
A
java/calcite-planner/src/main/java/org/apache/impala/calcite/cte/Suggester.java
A
java/calcite-planner/src/main/java/org/apache/impala/calcite/cte/SuggesterFactory.java
A
java/calcite-planner/src/main/java/org/apache/impala/calcite/rel/node/ImpalaCTEConsumer.java
A
java/calcite-planner/src/main/java/org/apache/impala/calcite/rel/node/ImpalaCTEProducer.java
M
java/calcite-planner/src/main/java/org/apache/impala/calcite/rel/node/ImpalaPlanRel.java
A
java/calcite-planner/src/main/java/org/apache/impala/calcite/rel/node/ImpalaSequence.java
M
java/calcite-planner/src/main/java/org/apache/impala/calcite/rel/node/NodeCreationUtils.java
A
java/calcite-planner/src/main/java/org/apache/impala/calcite/rules/CTERuleConfig.java
A
java/calcite-planner/src/main/java/org/apache/impala/calcite/rules/CommonRelSubExprRegisterRule.java
A
java/calcite-planner/src/main/java/org/apache/impala/calcite/rules/RemoveInfrequentCTERule.java
M
java/calcite-planner/src/main/java/org/apache/impala/calcite/schema/FilterSelectivityEstimator.java
M
java/calcite-planner/src/main/java/org/apache/impala/calcite/schema/ImpalaRelMdDistinctRowCount.java
M
java/calcite-planner/src/main/java/org/apache/impala/calcite/schema/ImpalaRelMdRowCount.java
M
java/calcite-planner/src/main/java/org/apache/impala/calcite/schema/ImpalaRelMdSize.java
M
java/calcite-planner/src/main/java/org/apache/impala/calcite/service/CalciteJniFrontend.java
M
java/calcite-planner/src/main/java/org/apache/impala/calcite/service/CalciteOptimizer.java
M
java/calcite-planner/src/main/java/org/apache/impala/calcite/service/CalciteRelNodeConverter.java
M
java/calcite-planner/src/main/java/org/apache/impala/calcite/service/CalciteSingleNodePlanner.java
A testdata/workloads/functional-query/queries/QueryTest/cte.test
M tests/custom_cluster/test_calcite_planner.py
37 files changed, 1,523 insertions(+), 41 deletions(-)
git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/91/22091/10
--
To view, visit http://gerrit.cloudera.org:8080/22091
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings
Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: Id0840c0859d2fe25628d799a18d302cee1eb36e8
Gerrit-Change-Number: 22091
Gerrit-PatchSet: 10
Gerrit-Owner: Michael Smith <[email protected]>
Gerrit-Reviewer: Anonymous Coward (816)
Gerrit-Reviewer: Impala Public Jenkins <[email protected]>
Gerrit-Reviewer: Joe McDonnell <[email protected]>
Gerrit-Reviewer: Michael Smith <[email protected]>
Gerrit-Reviewer: Steve Carlin <[email protected]>