danny0405 commented on a change in pull request #1587: [CALCITE-3272] Support
TUMBLE as Table Valued Function including an enumerable implementation,
stream.iq and DESCRIPTOR
URL: https://github.com/apache/calcite/pull/1587#discussion_r361349089
##########
File path:
core/src/test/resources/org/apache/calcite/test/SqlToRelConverterTest.xml
##########
@@ -4783,8 +4783,22 @@ GROUP BY TUMBLE(rowtime, INTERVAL '1' MINUTE)]]>
LogicalDelta
LogicalProject(S=[$0], E=[+($0, 60000:INTERVAL MINUTE)])
LogicalAggregate(group=[{0}])
- LogicalProject($f0=[TUMBLE($1, 60000:INTERVAL MINUTE)])
+ LogicalProject($f0=[$TUMBLE($1, 60000:INTERVAL MINUTE)])
LogicalTableScan(table=[[CATALOG, SALES, SHIPMENTS]])
+]]>
+ </Resource>
+ </TestCase>
+ <TestCase name="testTableValuedFunctionTumble">
+ <Resource name="sql">
+ <![CDATA[select *
+from table(tumble(table Shipments, descriptor(rowtime), INTERVAL '1'
MINUTE))]]>
+ </Resource>
+ <Resource name="plan">
+ <![CDATA[
+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])
Review comment:
After conversion, the `TUMBLE` call first operand is always last field of
it's input, which need a note because in current relational algebra, there is
no way to give the first operand a proper type.
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
With regards,
Apache Git Services