[
https://issues.apache.org/jira/browse/CALCITE-4865?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17557717#comment-17557717
]
Julian Hyde commented on CALCITE-4865:
--------------------------------------
This looks basically good. I've left some minor nits in the PR.
The main missing thing is productization. Change the description of this case
to indicate WHAT are polymorphic table functions (or rather, what makes a table
function polymorphic), WHY I would want to use one, and give some simple
examples. Also the [table
functions|https://calcite.apache.org/docs/adapter.html#table-functions-and-table-macros]
doc needs to be significantly expanded.
I'm done here. Can someone else do the final review?
> Extends Table function to support Polymorphic Table Function
> ------------------------------------------------------------
>
> Key: CALCITE-4865
> URL: https://issues.apache.org/jira/browse/CALCITE-4865
> Project: Calcite
> Issue Type: Sub-task
> Components: core
> Reporter: Jing Zhang
> Priority: Major
> Labels: pull-request-available
> Attachments: image-2021-12-07-11-04-28-206.png
>
> Time Spent: 1h
> Remaining Estimate: 0h
>
> This Jira aims to extend existed Table function in order to support
> Polymorphic Table Function, including:
> * Introduces generic input table parameter which has 3 characteristics:
> ## Input tables have either row semantics or set semantics)
> ### Row semantics means that the the result of the PTF is decided on a
> row-by-row basis.
> ### Set semantics means that the outcome of the function depends on how the
> data is partitioned.
> ## The second characteristic, which applies only to input tables with set
> semantics, is whether the PTF can generate a result row even if the input
> table is empty.
> ## The third characteristic is whether the input table supports pass-through
> columns or not. Pass-through columns is a mechanism enabling the PTF to copy
> every column of an input row into columns of an output row.
> * Introduces generic input table parameter which has 3 characteristics:
> * Extends `SqlFunction` to support generic input table parameter
> * Adds validator for table function
> ## only input table parameter with set semantics could be partitioned or
> ordered
> ## At most has one input table parameter with row semantics
> * Updates `Parser.jj` to allow partition by clause and order by clause
> follow after input table parameter of table function
> * Adds test
--
This message was sent by Atlassian Jira
(v8.20.7#820007)