Hi Julian, thank you very much for the quick response and the creation of the ticket!
Johannes On Wed, May 4, 2016 at 3:42 AM, Julian Hyde <[email protected]> wrote: > A slight correction. It is not valid to specify both “lateral” and > “unnest”. Lateral name-resolution is implicit if specify unnest. > > Julian > > > > On May 3, 2016, at 3:28 PM, Julian Hyde <[email protected]> wrote: > > > > In question 1, you have found a bug. When you use “unnest” it should > implicitly include “lateral”. Thus your query should be the same as > > > > select a.*, b.* from table1 as a, lateral unnest(a.items) as b; > > > > or > > > > select a.*, b.* from table1 as a cross join lateral unnest(a.items) as > b; > > > > Why do you care about LATERAL? It tells the validator to allow > references tables to the left of it in the FROM clause, in this case “a”. > > > > I have logged https://issues.apache.org/jira/browse/CALCITE-1225 < > https://issues.apache.org/jira/browse/CALCITE-1225>. > > > > In question 2, the query should not work. The expression inside unnest > is a scalar expression (the kind of thing you would include in your select > or where clause) not a relational expression (the kind of thing you would > include in your from clause). And that makes sense because unnest works on > arrays and multiset column values. > > > > Rather than > > > > select * from unnest(schema1.table1.items); > > > > you should write > > > > select u.* from schema1.table1 as t, unnest(t.items) as u; > > > > Julian > > > > > >> On May 3, 2016, at 1:29 PM, Johannes Schulte < > [email protected] <mailto:[email protected]>> wrote: > >> > >> Hi, > >> > >> I am trying to build an adapter for avro files, analogous to the csv > >> example. While scalar types work fine, I am having trouble getting an > >> unnest query to run. The example I found in the code is something like > this: > >> > >> select a.*, b.* from table1 as a, unnest(a.items) as b; > >> > >> Two questions: > >> > >> 1) > >> I always got the error message: "table A not found". It seems that the > >> corresponding test is currently set to ignore, and if ran it yields the > >> same error > >> > >> org.apache.calcite.test.JdbcTest.testUnnestArrayColumn() > >> > >> 2) As a way to proceed further i now check for > >> > >> select * from unnest(schema1.table1.items) > >> > >> but this also gives a table not found error message. It seems that the > >> > >> org.apache.calcite.sql.validate.SqlValidatorImpl > >> > >> always looks for schemas and tables with a "CATALOG" prefix and never > finds > >> the table / schema. This might be related to my knowledge of the overall > >> architecture, but i am following the csv examples. > >> > >> Any help would be appreciated! > >> > >> Johannes > > > >
