Rui Wang created CALCITE-3343: --------------------------------- Summary: Improve LogicalTableFunctionScan to match table function windowing Key: CALCITE-3343 URL: https://issues.apache.org/jira/browse/CALCITE-3343 Project: Calcite Issue Type: Sub-task Reporter: Rui Wang Assignee: Rui Wang
https://github.com/apache/calcite/blob/master/core/src/main/java/org/apache/calcite/rel/logical/LogicalTableFunctionScan.java#L40 {code:java} /** * Creates a <code>LogicalTableFunctionScan</code>. * * @param cluster Cluster that this relational expression belongs to * @param inputs 0 or more relational inputs * @param traitSet Trait set * @param rexCall Function invocation expression * @param elementType Element type of the collection that will implement * this table * @param rowType Row type produced by function * @param columnMappings Column mappings associated with this function */ public LogicalTableFunctionScan( RelOptCluster cluster, RelTraitSet traitSet, List<RelNode> inputs, RexNode rexCall, Type elementType, RelDataType rowType, Set<RelColumnMapping> columnMappings) { super(cluster, traitSet, inputs, rexCall, elementType, rowType, columnMappings); } {code} There might be a gap to make LogicalTableFunctionScan work for table function windowing: 1. we need a RexInputRef parameter (converted from the DESCRIPTOR) to mark which column is the watermarked column. 2. we need a List of RexNode(RexLiteral) for interval parameters. The most straightforward approach while maintaining backward compatible, seems is add another constructor with an additional List<RexNode> parameter. We could save RexInputRef and internals (RexLiteral) to this parameter. -- This message was sent by Atlassian Jira (v8.3.2#803003)