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 >>>> >>