You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ignite.apache.org by "Roman Kondakov (Jira)" <ji...@apache.org> on 2020/04/19 11:39:00 UTC

[jira] [Created] (IGNITE-12913) Calcite integration: Add semi join remove rule to the planner

Roman Kondakov created IGNITE-12913:
---------------------------------------

             Summary: Calcite integration: Add semi join remove rule to the planner
                 Key: IGNITE-12913
                 URL: https://issues.apache.org/jira/browse/IGNITE-12913
             Project: Ignite
          Issue Type: Improvement
          Components: sql
            Reporter: Roman Kondakov


We need to add  next rules to planner
 * FilterMergeRule
 * FilterProjectTransposeRule

In order to be able to make this transformation for the query:
{noformat}
"select name from (\n"
        + "  select *\n"
        + "  from dept\n"
        + "  where deptno = 10)\n"
        + "where deptno = 10\n"

BEFORE=
LogicalProject(NAME=[$1])
  LogicalFilter(condition=[=(CAST($0):INTEGER, 10)])
    LogicalProject(DEPTNO=[$0], NAME=[$1])
      LogicalFilter(condition=[=(CAST($0):INTEGER, 10)])
        IgniteTableScan(table=[[PUBLIC, DEPT]])

AFTER=
IgniteProject(NAME=[$1])
  IgniteProject(DEPTNO=[$0], NAME=[$1])
    IgniteFilter(condition=[=(CAST($0):INTEGER, 10)])
      IgniteTableScan(table=[[PUBLIC, DEPT]])
{noformat}
 

 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)