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>

Reply via email to