[
https://issues.apache.org/jira/browse/CALCITE-4337?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17427835#comment-17427835
]
Julian Hyde edited comment on CALCITE-4337 at 10/12/21, 6:49 PM:
-----------------------------------------------------------------
Do you agree that we should call them "table functions" not PTFs?
I think we should take our terminology from the syntax rather than the
marketers. The syntax says "CREATE FUNCTION" and "POLYMORPHIC" is just one
keyword. Even the term "table function" can be ambiguous - it can mean a
function that has a table as an argument, or a function that has a table as a
result.
Suppose a function that has a TABLE parameter but its return type is not
polymorphic. Can that TABLE parameter be declared as having SET semantics? I
suspect yes. Which means that we should think of SET-semantics as just a
feature of functions, not of polymorphic table functions.
Anyway. Enough about terminology.
Thank you for your thorough answers. You clearly understand this feature very
well. Your answers are so comprehensive that it will be easy for someone to
create a set of tests - each of which is a SQL statement and the error message
that the validator should throw.
was (Author: julianhyde):
Do you agree that we should call them "table functions" not PTFs?
> Support PARTITION BY clause in table function call
> --------------------------------------------------
>
> Key: CALCITE-4337
> URL: https://issues.apache.org/jira/browse/CALCITE-4337
> Project: Calcite
> Issue Type: New Feature
> Components: core
> Affects Versions: 1.26.0
> Reporter: Danny Chen
> Assignee: Danny Chen
> Priority: Major
> Labels: pull-request-available
> Attachments: image-2021-09-30-11-04-33-474.png,
> image-2021-09-30-11-05-12-400.png, image-2021-09-30-11-05-42-033.png
>
> Time Spent: 1h 40m
> Remaining Estimate: 0h
>
> An example from the SQL standard 2016 Polymorphic Table Functions:
> {code:sql}
> SELECT W.wstart, W.wend, OI.customer, SUM(OI.price)
> FROM TABLE(SESSION(
> data => TABLE(order_item) AS OI PARTITION BY customer,
> timecol => DESCRIPTOR(order_time),
> timeout => INTERVAL '10' MINUTE)) W
> GROUP BY 1, 2, 3
> {code}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)