You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@calcite.apache.org by "Danny Chen (Jira)" <ji...@apache.org> on 2020/04/24 09:41:00 UTC

[jira] [Created] (CALCITE-3955) Remove the first operand of RexCall from SqlWindowTableFunction

Danny Chen created CALCITE-3955:
-----------------------------------

             Summary: Remove the first operand of RexCall from SqlWindowTableFunction
                 Key: CALCITE-3955
                 URL: https://issues.apache.org/jira/browse/CALCITE-3955
             Project: Calcite
          Issue Type: Bug
          Components: core
    Affects Versions: 1.22.0
            Reporter: Danny Chen
            Assignee: Danny Chen
             Fix For: 1.23.0


In CALCITE-3382, we introduced TUMBLE window function to replace the deprecated group tumble window.

But for query

{code:sql}
select *
from table(tumble(table Shipments, descriptor(rowtime), INTERVAL '1' MINUTE))
{code}
the outputs plan is

{code:xml}
LogicalProject(ORDERID=[$0], ROWTIME=[$1], window_start=[$2], window_end=[$3])
  LogicalTableFunctionScan(invocation=[TUMBLE($1, DESCRIPTOR($1), 60000:INTERVAL MINUTE)], rowType=[RecordType(INTEGER ORDERID, TIMESTAMP(0) ROWTIME, TIMESTAMP(0) window_start, TIMESTAMP(0) window_end)])
    LogicalProject(ORDERID=[$0], ROWTIME=[$1])
      LogicalTableScan(table=[[CATALOG, SALES, SHIPMENTS]])
{code}

The first operand of TUMBLE rex call is always the last input field, but actually it represents the source table which is the input rel node.

This issue remove the first operand from the RexCall because it is useless and confusing.



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