Uploaded image for project: 'Ignite'
  1. Ignite
  2. IGNITE-12913

Calcite integration: Add semi join remove rule to the planner

    XMLWordPrintableJSON

    Details

      Description

      We need to add  next rules to planner

      • FilterJoinRule,
      • JoinAddRedundantSemiJoinRule,
      • SemiJoinRemoveRule

      In order to be able to make this transformation for the query:

      "select e.ename from emp e, dept d\n"
              + "where e.deptno = d.deptno"
      
      BEFORE=
      LogicalProject(ENAME=[$1])
        LogicalFilter(condition=[=($3, $5)])
          LogicalJoin(condition=[true], joinType=[inner])
            IgniteTableScan(table=[[PUBLIC, EMP]])
            IgniteTableScan(table=[[PUBLIC, DEPT]])
      
      AFTER=
      IgniteProject(ENAME=[$1])
        IgniteJoin(condition=[=($3, $5)], joinType=[inner])
          IgniteTableScan(table=[[PUBLIC, EMP]])
          IgniteTableScan(table=[[PUBLIC, DEPT]])
      

       

       

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                Unassigned
                Reporter:
                rkondakov Roman Kondakov
              • Votes:
                0 Vote for this issue
                Watchers:
                1 Start watching this issue

                Dates

                • Created:
                  Updated: