Julian Hyde created CALCITE-1525:
------------------------------------

             Summary: Use "Planner" to handle query preparation process in 
CalcitePrepareImpl
                 Key: CALCITE-1525
                 URL: https://issues.apache.org/jira/browse/CALCITE-1525
             Project: Calcite
          Issue Type: Bug
            Reporter: Julian Hyde
            Assignee: Julian Hyde


The query preparation process (parse, validate, convert SqlNode to RelNode, 
plan) is complicated, and each step depends on state on the previous one. We 
have two ways of managing that preparation process: 
[CalcitePrepareImpl|https://calcite.apache.org/apidocs/org/apache/calcite/prepare/CalcitePrepareImpl.html]
 (used by the JDBC driver) and 
[org.apache.calcite.tools.Planner|https://calcite.apache.org/apidocs/org/apache/calcite/tools/Planner.html]
 (your only practical option if your code doesn't live inside JDBC).

We should make {{CalcitePrepareImpl}} use a {{Planner}} internally, get rid of 
shared logic, and make them behave consistently.

>From [email 
>thread|https://mail-archives.apache.org/mod_mbox/calcite-dev/201611.mbox/%3C9499388B-64A4-4BB0-9957-7FABC913AA48%40apache.org%3E]
> with [~gian]:

{quote}
Compare and contrast:
 * 
[CalcitePrepareImpl.getSqlToRelConverter|https://github.com/apache/calcite/blob/3f92157d5742dd10f3b828d22d7a753e0a2899cc/core/src/main/java/org/apache/calcite/prepare/CalcitePrepareImpl.java#L1114]
 * 
[PlannerImpl.rel|https://github.com/apache/calcite/blob/105bba1f83cd9631e8e1211d262e4886a4a863b7/core/src/main/java/org/apache/calcite/prepare/PlannerImpl.java#L225]
{quote}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to