[ 
https://issues.apache.org/jira/browse/CALCITE-6254?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

hongyu guo resolved CALCITE-6254.
---------------------------------
    Fix Version/s: 1.37.0
       Resolution: Fixed

Resloved in 
[331f985|https://github.com/apache/calcite/commit/331f9859445b112e9ffc03e3c6aeff808e023034].

Thanks for your contribution, [~barrkel]!

> Support table function calls in FROM clause without TABLE() wrapper
> -------------------------------------------------------------------
>
>                 Key: CALCITE-6254
>                 URL: https://issues.apache.org/jira/browse/CALCITE-6254
>             Project: Calcite
>          Issue Type: Improvement
>          Components: core
>    Affects Versions: 1.36.0
>            Reporter: Barry Kelly
>            Priority: Minor
>              Labels: parser, pull-request-available
>             Fix For: 1.37.0
>
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> Currently, when selecting from a table function, the function call needs to 
> be wrapped in TABLE() like this:
> {{    SELECT * FROM TABLE(table_func('args'));}}
> Many dialects (SQL Server, PostgreSQL, BigQuery) do not require this:
> {{    SELECT * FROM table_func('args');}}
> The current Calcite grammar can be extended to permit this syntax without 
> conflicting with other productions.
> There is a close call with the dynamic columns feature used by 
> [Phoenix|https://phoenix.apache.org/dynamic_columns.html]
> {{    SELECT * FROM EventLog(lastGCTime TIME)}}
> It can be disambiguated with 3 tokens of lookahead, seeing past the '(' and 
> identifier to the presence of a type production. The table extension clause 
> for dynamic columns requires at least one field, so the empty case of '()' is 
> not ambiguous either.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to