[ 
https://issues.apache.org/jira/browse/SOLR-8593?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15276452#comment-15276452
 ] 

Kevin Risden commented on SOLR-8593:
------------------------------------

{quote}
Do you know of an existing adapter that does join push downs that can be used 
as a reference implementation?
{quote}

{quote}
And what's the best source of documentation for implementing rules? I haven't 
found anything that I would describes as comprehensive.
{quote}

I don't have one specifically for joins. The best reference for implementing 
rules is the example adapters for Cassandra, MongoDB, and Splunk in the Calcite 
source. I wish there was some more comprehensive documentation. It has been a 
lot of trial and error to see how things all fit together.

Basically the pattern seems to be as follows:
1) Add a rule to SolrRules
2) The constructor specifies how it matches (project, filter, etc)
3) Add a class that implements the translation of that rule

This all eventually gets passed down to the SolrTable where the query is built 
and run. I've been thinking about changing since so that the query is built 
along the way but not sure thats possible. 

> Integrate Apache Calcite into the SQLHandler
> --------------------------------------------
>
>                 Key: SOLR-8593
>                 URL: https://issues.apache.org/jira/browse/SOLR-8593
>             Project: Solr
>          Issue Type: Improvement
>            Reporter: Joel Bernstein
>             Fix For: master
>
>
> The Presto SQL Parser was perfect for phase one of the SQLHandler. It was 
> nicely split off from the larger Presto project and it did everything that 
> was needed for the initial implementation.
> Phase two of the SQL work though will require an optimizer. Here is where 
> Apache Calcite comes into play. It has a battle tested cost based optimizer 
> and has been integrated into Apache Drill and Hive.
> This work can begin in trunk following the 6.0 release. The final query plans 
> will continue to be translated to Streaming API objects (TupleStreams), so 
> continued work on the JDBC driver should plug in nicely with the Calcite work.



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

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

Reply via email to