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

Calcite integration: Add aggregate project merge rule to the planner

    XMLWordPrintableJSON

Details

    Description

      We need to add  next rules to planner

      • AggregateProjectMergeRule

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

      "select x, sum(z), y from (\n"
          + "  select deptno as x, empno as y, sal as z, sal * 2 as zz\n"
          + "  from emp)\n"
          + "group by x, y"
      
      BEFORE=
      LogicalProject(X=[$0], EXPR$1=[$2], Y=[$1])
        LogicalAggregate(group=[{0, 1}], EXPR$1=[SUM($2)])
          LogicalProject(X=[$3], Y=[$0], Z=[$2])
            IgniteTableScan(table=[[PUBLIC, EMP]])
      
      AFTER=
      IgniteProject(X=[$0], EXPR$1=[$2], Y=[$1])
        IgniteProject(DEPTNO=[$1], EMPNO=[$0], EXPR$1=[$2])
          IgniteAggregate(group=[{0, 3}], EXPR$1=[SUM($2)])
            IgniteTableScan(table=[[PUBLIC, EMP]])
      

       

       

      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: