[ 
https://issues.apache.org/jira/browse/SOLR-16243?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Joel Bernstein updated SOLR-16243:
----------------------------------
    Description: 
We're going to have to up our SQL interpretation game in order to support more 
complex query plans that include joins.

This ticket adds an approach that translates the Calcite parse tree into a tree 
of "Implementor" nodes. The Implementor.getPhysicalPlan() method can then be 
called to traverse the tree and return a Streaming Expression which is the 
executable physical plan. 

The approach allows for implementor nodes of different types to handler Join 
logic. An example JoinImplementor is included in the PR which holds a left and 
right Implementor and returns an InnerJoinStream. 

  was:
Currently Solr SQL visits the SQL parse tree and builds up a set of properties 
that are passed to the SolrTable which creates the Streaming Expression object 
tree. This technique only works because we're not dealing yet with joins. It 
won't be practical to express joins using the current approach. In order to 
support joins we'll need to build the Streaming Expression as we visit the 
parse tree and pass the expression directly to the SolrTable. 

This ticket will only implement existing SQL support using the direct 
compilation approach.


> Compile SQL to a Streaming Expression while visiting the Calcite SQL parse 
> tree
> -------------------------------------------------------------------------------
>
>                 Key: SOLR-16243
>                 URL: https://issues.apache.org/jira/browse/SOLR-16243
>             Project: Solr
>          Issue Type: Improvement
>      Security Level: Public(Default Security Level. Issues are Public) 
>          Components: Parallel SQL
>            Reporter: Joel Bernstein
>            Assignee: Joel Bernstein
>            Priority: Major
>              Labels: RobustSQL
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> We're going to have to up our SQL interpretation game in order to support 
> more complex query plans that include joins.
> This ticket adds an approach that translates the Calcite parse tree into a 
> tree of "Implementor" nodes. The Implementor.getPhysicalPlan() method can 
> then be called to traverse the tree and return a Streaming Expression which 
> is the executable physical plan. 
> The approach allows for implementor nodes of different types to handler Join 
> logic. An example JoinImplementor is included in the PR which holds a left 
> and right Implementor and returns an InnerJoinStream. 



--
This message was sent by Atlassian Jira
(v8.20.7#820007)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@solr.apache.org
For additional commands, e-mail: issues-h...@solr.apache.org

Reply via email to