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

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

              Dates

                Created:
                Updated: