Hi community, I'm now working on CALCITE-4337 <https://issues.apache.org/jira/browse/CALCITE-4337> [1] which aims to support PARTITION BY clause for table function argument. I've submitted a pull request <https://github.com/apache/calcite/pull/2524> [2], thanks @Danny very much for review. There are two points left which need more discussion. So I fire this discussion in order to get more broader suggestions. 1. SQL standard Polymorphic Table Functions <https://standards.iso.org/ittf/PubliclyAvailableStandards/c069776_ISO_IEC_TR_19075-7_2017.zip> [3] states:
> Input tables have either row semantics or set semantics, as follows: > a) Row semantics means that the the result of the PTF is decided on a > row-by-row basis. As an extreme example, the DBMS could atomize the input > table into individual rows, and send each single row to a different virtual > processor. > b) Set semantics means that the outcome of the function depends on how the > data is partitioned. A partition may not be split across virtual > processors, nor may a virtual processor handle more than one partition. A SESSION window has an input table with set semantics which means it requires a PARTITION BY clause. The new syntax is conflict with current session window table function syntax, please take a look at session table function <https://calcite.apache.org/docs/reference.html#session> [4]. *Could we replace the old syntax directly, or take compatible into consideration.* 2. Based on SQL standard, only input tables with set semantics may be partitioned while input table with row semantics may not be partitioned. *Should we have separate branch in Parser.jj for set semantic input table of table function(Currently, only input table of session window table function has set semantics)*? Any suggestion is appreciated. Thanks in advanced. [1] https://issues.apache.org/jira/browse/CALCITE-4337 [2] https://github.com/apache/calcite/pull/2524 [3] https://standards.iso.org/ittf/PubliclyAvailableStandards/c069776_ISO_IEC_TR_19075-7_2017.zip [4] https://calcite.apache.org/docs/reference.html#session Best JING ZHANG
