Ruben Q L created CALCITE-4063: ---------------------------------- Summary: Correlate with Unnest an array of structs causes ClassCastException Key: CALCITE-4063 URL: https://issues.apache.org/jira/browse/CALCITE-4063 Project: Calcite Issue Type: Bug Components: core Affects Versions: 1.23.0 Reporter: Ruben Q L
If we run the following queries with UNNEST operator, we get the expected results: {code:sql} select * from UNNEST(array[3, 4]) as T2(y); -- y=3 -- y=4 select * from UNNEST(array[array[3], array[4]]) as T2(y) -- y=[3] -- y=[4] select * from UNNEST(array[ROW(3), ROW(4)]) as T2(y) -- y=[3] -- y=[4] {code} However, if we try to combine the them with a correlation with some other values, as we could do in more realistic examples: {{select * from dept_nested as d, UNNEST(d.employees) e2}} The first two return the expected results, but the last one throws an exception: {code:sql} select * from (values (1), (2)) T1(x), UNNEST(array[3, 4]) as T2(y); -- x=1; y=3 -- x=1; y=4 -- x=2; y=3 -- x=2; y=4 select * from (values (1), (2)) T1(x), UNNEST(array[array[3], array[4]]) as T2(y); -- x=1; y=[3] -- x=1; y=[4] -- x=2; y=[3] -- x=2; y=[4] select * from (values (1), (2)) T1(x), UNNEST(array[ROW(3), ROW(4)]) as T2(y); -- ERROR!!! -- java.lang.ClassCastException: org.apache.calcite.runtime.FlatLists$Flat1List cannot be cast to java.lang.Integer {code} -- This message was sent by Atlassian Jira (v8.3.4#803005)