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

Add SemiJoinRule, planner rule to convert project-join-aggregate into semi-join

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 0.9.0-incubating
    • Component/s: None
    • Labels:
      None

      Description

      Semi-join is an important logical relational expression but many query sources (e.g. SqlToRelTranslator) do not generate them. This rule would create SemiJoinRel if it sees a join that aggregates its right input on the join key; a project on top is necessary to be sure that columns from the right side of the join are not being used.

      Also, add class JoinInfo and a method on JoinRelBase 'public JoinInfo analyzeCondition()', to make it easier to analyze whether join conditions are equi-joins.

        Issue Links

          Activity

          Show
          julianhyde Julian Hyde added a comment - Fixed in http://git-wip-us.apache.org/repos/asf/incubator-optiq/commit/5d209a50 .
          Hide
          julianhyde Julian Hyde added a comment -

          Close issues resolved in release 0.9.0-incubating (2014-08-25).

          Show
          julianhyde Julian Hyde added a comment - Close issues resolved in release 0.9.0-incubating (2014-08-25).

            People

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

              Dates

              • Created:
                Updated:
                Resolved:

                Development