Uploaded image for project: 'Solr'
  1. Solr
  2. SOLR-16243

Compile SQL to a Streaming Expression while visiting the Calcite SQL parse tree

Attach filesAttach ScreenshotAdd voteVotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    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 Implementor tree and return a Streaming Expression which is the executable physical plan.

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

      Attachments

        Issue Links

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            jbernste Joel Bernstein
            jbernste Joel Bernstein

            Dates

              Created:
              Updated:

              Time Tracking

                Estimated:
                Original Estimate - Not Specified
                Not Specified
                Remaining:
                Remaining Estimate - 0h
                0h
                Logged:
                Time Spent - 1h
                1h

                Slack

                  Issue deployment