Uploaded image for project: 'Calcite'
  1. Calcite
  2. CALCITE-343

RelDecorrelator should build its own mappings, not inherit from SqlToRelConverter

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 0.9.0-incubating
    • None
    • None

    Description

      In order to get an efficient query to generate possible values of the correlation variable, we need to push filters into joins after sql-to-rel conversion but before decorrelation. But pushing filters messes up the mappings that are created by SqlToRelConverter and used by RelDecorrelator.

      Currently Planner.onCopy is used to inform the planner about changes. But it cannot capture what PushFilterThroughJoinRule is doing.

      I think the correct solution is to build the mappings needed by RelDecorrelator based on the current state of the RelNode tree. And re-build, if necessary, when a rule has fired.

      Another benefit: it would be possible to use RelDecorrelator for queries not

      Attachments

        Activity

          People

            julianhyde Julian Hyde
            julianhyde Julian Hyde
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: