[ https://issues.apache.org/jira/browse/CALCITE-3343?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16929434#comment-16929434 ]
Rui Wang commented on CALCITE-3343: ----------------------------------- Also, maybe we just use rexCall to save the signature of table value function, which gives us DESCRIPTOR and intervals. I am not sure how far we could go on this idea. > 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 > Priority: Major > > 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)