You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@calcite.apache.org by "Luis Fernando Kauer (JIRA)" <ji...@apache.org> on 2017/07/07 14:56:00 UTC

[jira] [Created] (CALCITE-1876) Create a rule to push the projections used in aggregate functions

Luis Fernando Kauer created CALCITE-1876:
--------------------------------------------

             Summary: Create a rule to push the projections used in aggregate functions
                 Key: CALCITE-1876
                 URL: https://issues.apache.org/jira/browse/CALCITE-1876
             Project: Calcite
          Issue Type: Improvement
          Components: csv-adapter
            Reporter: Luis Fernando Kauer
            Assignee: Julian Hyde
            Priority: Minor


From Julian Hyde;
"Calcite should realize that Aggregate has an implied Project (because it only uses a few columns) and push that projection into the CsvTableScan, but it doesn’t."

A query scans only the used projection when no aggregation is used:
sql->explain plan for select name from emps;
CsvTableScan(table=[[SALES, EMPS]], fields=[[1]])

But it scans all the projections when an aggregation is used:
sql->explain plan for select max(name) from emps;
EnumerableAggregate(group=[{}], EXPR$0=[MAX($1)])
CsvTableScan(table=[[SALES, EMPS]], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]])





--
This message was sent by Atlassian JIRA
(v6.4.14#64029)