[CALCITE-7575] Parser can not parse unparsed polymorphic table functions with several table args#4984
Conversation
| e = LambdaExpression() | ||
| | | ||
| e = Expression(exprContext) | ||
| // A set-semantics table argument may be a partitioned sub-query, e.g. |
There was a problem hiding this comment.
which part of the language reference does this correspond to?
There was a problem hiding this comment.
this is SQL:2016 Polymorphic Table Functions (ISO/IEC 9075-2:2016)
the problem with current implementation is that it covers only first arg of table function and doesn't cover any other arg.
There was a problem hiding this comment.
I mean, in the reference.md file
There was a problem hiding this comment.
ah, then this line
calcite/site/_docs/reference.md
Lines 2208 to 2209 in 337abd4
There was a problem hiding this comment.
I was looking for PARTITION BY in the grammar, but no place seemed to match what you are not parsing
There was a problem hiding this comment.
yeah, seems it is missing details for PTF in reference.md
It was solved (for the first arg) in CALCITE-6944, also a number of references in this comment https://issues.apache.org/jira/browse/CALCITE-6944?focusedCommentId=17945242&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-17945242
here I'm following the same approach for other(non-first) args
There was a problem hiding this comment.
Can you then please update the grammar as well?
| A PTF may have more than one table argument, each with its own semantics, | ||
| partitioning and ordering; at most one of them may have row semantics. | ||
|
|
||
| | Operator syntax | Description |
There was a problem hiding this comment.
Is a table needed for a single row?
Or is this for symmetry with other operators?
There was a problem hiding this comment.
no, it is optional
here in reference just because of symmetry
|
…ons with several table args
|
squashed and rebased before merging |



Jira Link
CALCITE-7575
Changes Proposed
The PR is to support parsing of queries with PTF (polymorphic table functions) with several table args like