[
https://issues.apache.org/jira/browse/CALCITE-2569?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17165317#comment-17165317
]
Julian Hyde commented on CALCITE-2569:
--------------------------------------
I believe I already migrated the window table functions, as part of the change.
The most surprising thing about the change is that a table function must now
return CURSOR (i.e. if you call {{getReturnTypeInference()}}). Getting the row
type is a new API call (\{{getRowTypeInference()}}).
> UDFs that are table functions must implement SqlTableFunction and have CURSOR
> as their return type
> --------------------------------------------------------------------------------------------------
>
> Key: CALCITE-2569
> URL: https://issues.apache.org/jira/browse/CALCITE-2569
> Project: Calcite
> Issue Type: Bug
> Reporter: Julian Hyde
> Assignee: Julian Hyde
> Priority: Major
>
> UDFs that are table functions must implement SqlTableFunction and have CURSOR
> as their return type,
> Validate that table functions are not used in contexts that require scalar
> functions, such as the SELECT clause.
> Change operand type ANY to mean 'scalar expression of any type (but not a
> cursor)', and add operand type IGNORE to mean skip validation - for an
> operand that is not an expression. TABLE is one of the few operators that
> accepts a CURSOR operand.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)