Hello Impala Public Jenkins, I'd like you to reexamine a change. Please visit
http://gerrit.cloudera.org:8080/20664 to look at the new patch set (#6). Change subject: IMPALA-?????: First commit for experimental Calcite planner ...................................................................... IMPALA-?????: First commit for experimental Calcite planner This commit is the first commit of hopefully many to come using Calcite to compile and generate the TExecRequest structure used by the backend to run the query. This cut only works for a basic select <col> from <tbl> query for both qualified and unqualified tables. The entry point is the CalciteJniFrontend module which is a child class of JniFrontend. This is loaded using the config parameter "jni_frontend_class" as can be seen in the test_experimental_planner.py file. The CalciteJniFrontend drives the compilation via several steps, which are: parsing the query, loading metadata tables, validating the query, converting the query from the AST to a logical plan, creating the optimized plan, creating the physical plan (PlanNode), and creating the final distributed plan and TExecRequest. These steps are all called from CalciteJniFrontend. One of the goals here is to be non-intrusive as possible to the current planner. Most changes have been made in the experimental-planner directory, though some minor changes were needed in the main fe module. The ExecRequestCreator does require a refactoring of SingleNodePlanner, but to keep this non-intrusive, some code copying was done. So this does need to be refactored in a later commit and Jira IMPALA-????? was created to keep track of this task. Change-Id: I850679424d002c8acccb7421792ad9c498f3c8ab --- M bin/impala-config.sh M fe/pom.xml M fe/src/main/java/org/apache/impala/analysis/TableName.java M fe/src/main/java/org/apache/impala/planner/PlannerContext.java M fe/src/main/java/org/apache/impala/service/JniFrontend.java A java/experimental-planner/pom.xml A java/experimental-planner/src/main/java/org/apache/impala/calcite/node/ConvertToImpalaRelRules.java A java/experimental-planner/src/main/java/org/apache/impala/calcite/node/CreateExprVisitor.java A java/experimental-planner/src/main/java/org/apache/impala/calcite/node/NodeWithExprs.java A java/experimental-planner/src/main/java/org/apache/impala/calcite/node/OptimizedHdfsScanNode.java A java/experimental-planner/src/main/java/org/apache/impala/calcite/node/OptimizedHdfsScanRel.java A java/experimental-planner/src/main/java/org/apache/impala/calcite/node/OptimizedPlanRel.java A java/experimental-planner/src/main/java/org/apache/impala/calcite/node/OptimizedProjectRelBase.java A java/experimental-planner/src/main/java/org/apache/impala/calcite/schema/CalciteDb.java A java/experimental-planner/src/main/java/org/apache/impala/calcite/schema/CalciteTable.java A java/experimental-planner/src/main/java/org/apache/impala/calcite/service/CalciteJniFrontend.java A java/experimental-planner/src/main/java/org/apache/impala/calcite/service/CalciteMetadataHandler.java A java/experimental-planner/src/main/java/org/apache/impala/calcite/service/CalciteOptimizer.java A java/experimental-planner/src/main/java/org/apache/impala/calcite/service/CalcitePhysPlanCreator.java A java/experimental-planner/src/main/java/org/apache/impala/calcite/service/CalciteQueryParser.java A java/experimental-planner/src/main/java/org/apache/impala/calcite/service/CalciteRelNodeConverter.java A java/experimental-planner/src/main/java/org/apache/impala/calcite/service/CalciteValidator.java A java/experimental-planner/src/main/java/org/apache/impala/calcite/service/CompilerStep.java A java/experimental-planner/src/main/java/org/apache/impala/calcite/service/ExecRequestCreator.java A java/experimental-planner/src/main/java/org/apache/impala/calcite/type/ImpalaTypeConverter.java A java/experimental-planner/src/main/java/org/apache/impala/calcite/type/ImpalaTypeSystemImpl.java M java/pom.xml A testdata/workloads/functional-query/queries/QueryTest/calcite.test A tests/custom_cluster/test_experimental_planner.py 29 files changed, 2,426 insertions(+), 3 deletions(-) git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/64/20664/6 -- To view, visit http://gerrit.cloudera.org:8080/20664 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I850679424d002c8acccb7421792ad9c498f3c8ab Gerrit-Change-Number: 20664 Gerrit-PatchSet: 6 Gerrit-Owner: Steve Carlin <scar...@cloudera.com> Gerrit-Reviewer: Impala Public Jenkins <impala-public-jenk...@cloudera.com>