I have logged  https://issues.apache.org/jira/browse/CALCITE-1309 
<https://issues.apache.org/jira/browse/CALCITE-1309> for this. 

- Jark Wu 

> 在 2016年7月8日,上午9:26,Julian Hyde <jh...@apache.org> 写道:
> 
> I believe that we should allow LATERAL TABLE. Can you log a JIRA case, please?
> 
> As a workaround, you might get away with wrapping the table with “(SELECT * 
> FROM … )”
> 
> Julian
> 
> 
>> On Jul 6, 2016, at 6:18 PM, Jark <imj...@gmail.com> wrote:
>> 
>> It throws “Encountered "LATERAL TABLE" at line 1, column 38.” exception. 
>> According to the document[1], only query can follow behind LATERAL. 
>> 
>> [1] https://calcite.apache.org/docs/reference.html 
>> <https://calcite.apache.org/docs/reference.html>
>> 
>> 
>>> 在 2016年7月7日,上午5:44,Julian Hyde <jh...@apache.org> 写道:
>>> 
>>> I think it’s just a mater of a missing “LATERAL”. Try
>>> 
>>> SELECT MyTable.*, t.s  FROM MyTable, LATERAL TABLE(split(MyTable.a)) AS t(s)
>>> 
>>> (LATERAL allows an item in the FROM clause to “see” earlier items in the 
>>> FROM clause.)
>>> 
>>>> On Jul 6, 2016, at 7:40 AM, Jark Wu <wuchong...@alibaba-inc.com> wrote:
>>>> 
>>>> Hi ,
>>>> 
>>>> I want to use calcite to parse UDTF(user-defined table function) but have 
>>>> some problems. Suppose we have registered a UDTF named “split” with a 
>>>> string parameters. Calcite support this : “SELECT * FROM 
>>>> TABLE(split(‘hello world’)) AS t(s)” .  
>>>> 
>>>> However, I want the UDTF accept the other table’s columns such as:  
>>>> “SELECT MyTable.*, t.s  FROM MyTable, TABLE(split(MyTable.a)) AS t(s)”, 
>>>> but calcite throws can not find “MyTable” exception.
>>>> 
>>>> Actually I want to implement something like HIVE UDTF, such as “SELECT 
>>>> posexplode(myCol) AS (pos, myNewCol) FROM myTable”  Or  
>>>> “select pos, myNewCol From myTable lateral view posexplode(myCol) as (pos, 
>>>> myNewCol)”. 
>>>> 
>>>> Is there any way to do this in calcite ? 
>>>> 
>>>> - Jark Wu 
>>>> 
>> 

Reply via email to