blob: bef0016717d6f998394e191486b12aa1d21b1733 [file] [log] [blame]
====
---- QUERY
-- Materialize scalar and array
select id, a.item from complextypestbl t, t.int_array a
---- RESULTS
1,1
1,2
1,3
2,NULL
2,1
2,2
2,NULL
2,3
2,NULL
8,-1
---- TYPES
bigint,int
====
---- QUERY
-- Materialize array (for now, may be optimized away someday)
select a.item from complextypestbl t, t.int_array a
---- RESULTS
1
2
3
NULL
1
2
NULL
3
NULL
-1
---- TYPES
int
====
---- QUERY
-- Materialize scalar and array
select id, cnt from complextypestbl t, (select count(item) cnt from t.int_array) v
---- RESULTS
1,3
2,3
3,0
4,0
5,0
6,0
7,0
8,1
---- TYPES
bigint,bigint
====
---- QUERY
-- Materialize array
select cnt from complextypestbl t, (select count(item) cnt from t.int_array) v
---- RESULTS
3
3
0
0
0
0
0
1
---- TYPES
bigint
====
---- QUERY
-- Materialize scalar and array with no slots
select id, cnt from complextypestbl t, (select count(*) cnt from t.int_array) v
---- RESULTS
1,3
2,6
3,0
4,0
5,0
6,0
7,0
8,1
---- TYPES
bigint,bigint
====
---- QUERY
-- Materialize array with no slots
select cnt from complextypestbl t, (select count(*) cnt from t.int_array) v
---- RESULTS
3
6
0
0
0
0
0
1
---- TYPES
bigint
====
---- QUERY
-- Materialize scalar and array that is flattened version of nested arrays
select id, a.item from complextypestbl t, t.int_array_array.item a
---- RESULTS
1,1
1,2
1,3
1,4
2,NULL
2,1
2,2
2,NULL
2,3
2,NULL
2,4
7,5
7,6
8,-1
8,-2
---- TYPES
bigint,int
====
---- QUERY
-- Materialize array that is flattened version of nested arrays
select a.item from complextypestbl t, t.int_array_array.item a
---- RESULTS
1
2
3
4
NULL
1
2
NULL
3
NULL
4
5
6
-1
-2
---- TYPES
int
====
---- QUERY
-- Materialize scalar and array that is flattened version of nested arrays
select id, cnt from complextypestbl t,
(select count(item) cnt from t.int_array_array.item) v
---- RESULTS
1,4
2,4
3,0
4,0
5,0
6,0
7,2
8,2
---- TYPES
bigint,bigint
====
---- QUERY
-- Materialize array that is flattened version of nested arrays
select cnt from complextypestbl t,
(select count(item) cnt from t.int_array_array.item) v
---- RESULTS
4
4
0
0
0
0
2
2
---- TYPES
bigint
====
---- QUERY
-- Materialize scalar and array with no slots that is flattened version of nested
-- arrays
select id, cnt from complextypestbl t,
(select count(*) cnt from t.int_array_array.item) v
---- RESULTS
1,4
2,7
3,0
4,0
5,0
6,0
7,2
8,2
---- TYPES
bigint,bigint
====
---- QUERY
-- Materialize array with no slots that is flattened version of nested arrays
select cnt from complextypestbl t,
(select count(*) cnt from t.int_array_array.item) v
---- RESULTS
4
7
0
0
0
0
2
2
---- TYPES
bigint
====
---- QUERY
-- Materialize scalar and array with no slots that is count of nested arrays
select id, cnt from complextypestbl t,
(select count(*) cnt from t.int_array_array) v
---- RESULTS
1,2
2,4
3,1
4,0
5,0
6,0
7,2
8,2
---- TYPES
bigint,bigint
====
---- QUERY
-- Materialize array with no slots that is count of nested arrays
select cnt from complextypestbl t,
(select count(*) cnt from t.int_array_array) v
---- RESULTS
2
4
1
0
0
0
2
2
---- TYPES
bigint
====
---- QUERY
-- Materialize scalar and array of arrays
select id, a2.item from complextypestbl t, t.int_array_array a1, a1.item a2
---- RESULTS
1,1
1,2
1,3
1,4
2,NULL
2,1
2,2
2,NULL
2,3
2,NULL
2,4
7,5
7,6
8,-1
8,-2
---- TYPES
bigint,int
====
---- QUERY
-- Materialize array of arrays
select a2.item from complextypestbl t, t.int_array_array a1, a1.item a2
---- RESULTS
1
2
3
4
NULL
1
2
NULL
3
NULL
4
5
6
-1
-2
---- TYPES
int
====
---- QUERY
-- Materialize scalar and array of arrays
select id, cnt from complextypestbl t, t.int_array_array a1,
(select count(a2.item) cnt from a1.item a2) v
---- RESULTS
1,2
1,2
2,2
2,2
2,0
2,0
3,0
7,0
7,2
8,2
8,0
---- TYPES
bigint,bigint
====
---- QUERY
-- Materialize array of arrays
select cnt from complextypestbl t, t.int_array_array a1,
(select count(a2.item) cnt from a1.item a2) v
---- RESULTS
2
2
2
2
0
0
0
0
2
2
0
---- TYPES
bigint
====
---- QUERY
-- Materialize scalar and array of arrays with no slots
select id, cnt from complextypestbl t, t.int_array_array a1,
(select count(*) cnt from a1.item a2) v
---- RESULTS
1,2
1,2
2,4
2,3
2,0
2,0
3,0
7,0
7,2
8,2
8,0
---- TYPES
bigint,bigint
====
---- QUERY
-- Materialize array of arrays with no slots
select cnt from complextypestbl t, t.int_array_array a1,
(select count(*) cnt from a1.item a2) v
---- RESULTS
2
2
4
3
0
0
0
0
2
2
0
---- TYPES
bigint
====
---- QUERY
-- Materialize nested array
select cnt from complextypestbl.int_array_array a1,
(select count(a2.item) cnt from a1.item a2) v
---- RESULTS
2
2
2
2
0
0
0
0
2
2
0
---- TYPES
bigint
====
---- QUERY
-- Materialize nested array with no slots
select cnt from complextypestbl.int_array_array a1,
(select count(*) cnt from a1.item a2) v
---- RESULTS
2
2
4
3
0
0
0
0
2
2
0
---- TYPES
bigint
====
---- QUERY
-- Materialize scalar, array, and array of arrays
select id, cnt1, cnt2 from complextypestbl t,
(select count(item) cnt1 from t.int_array) v1,
t.int_array_array a1, (select count(item) cnt2 from a1.item a2) v2
---- RESULTS
1,3,2
1,3,2
2,3,2
2,3,2
2,3,0
2,3,0
3,0,0
7,0,0
7,0,2
8,1,2
8,1,0
---- TYPES
bigint,bigint,bigint
====
---- QUERY
-- Materialize scalar, array of no slots, and array of arrays of no slots
select id, cnt1, cnt2 from complextypestbl t,
(select count(*) cnt1 from t.int_array) v1,
t.int_array_array a1, (select count(*) cnt2 from a1.item a2) v2
---- RESULTS
1,3,2
1,3,2
2,6,4
2,6,3
2,6,0
2,6,0
3,0,0
7,0,0
7,0,2
8,1,2
8,1,0
---- TYPES
bigint,bigint,bigint
====
---- QUERY
-- Materialize scalar, array, and array of arrays of no slots
select id, cnt1, cnt2 from complextypestbl t,
(select count(item) cnt1 from t.int_array) v1,
t.int_array_array a1, (select count(*) cnt2 from a1.item a2) v2
---- RESULTS
1,3,2
1,3,2
2,3,4
2,3,3
2,3,0
2,3,0
3,0,0
7,0,0
7,0,2
8,1,2
8,1,0
---- TYPES
bigint,bigint,bigint
====
---- QUERY
-- Materialize scalar, array of no slots, and array of arrays
select id, cnt1, cnt2 from complextypestbl t,
(select count(*) cnt1 from t.int_array) v1,
t.int_array_array a1, (select count(item) cnt2 from a1.item a2) v2
---- RESULTS
1,3,2
1,3,2
2,6,2
2,6,2
2,6,0
2,6,0
3,0,0
7,0,0
7,0,2
8,1,2
8,1,0
---- TYPES
bigint,bigint,bigint
====
---- QUERY
-- Materialize array, and array of arrays
select cnt1, cnt2 from complextypestbl t,
(select count(item) cnt1 from t.int_array) v1,
t.int_array_array a1, (select count(item) cnt2 from a1.item a2) v2
---- RESULTS
3,2
3,2
3,2
3,2
3,0
3,0
0,0
0,0
0,2
1,2
1,0
---- TYPES
bigint,bigint
====
---- QUERY
-- Materialize array of no slots, and array of arrays of no slots
select cnt1, cnt2 from complextypestbl t,
(select count(*) cnt1 from t.int_array) v1,
t.int_array_array a1, (select count(*) cnt2 from a1.item a2) v2
---- RESULTS
3,2
3,2
6,4
6,3
6,0
6,0
0,0
0,0
0,2
1,2
1,0
---- TYPES
bigint,bigint
====
---- QUERY
-- Materialize array, and array of arrays of no slots
select cnt1, cnt2 from complextypestbl t,
(select count(item) cnt1 from t.int_array) v1,
t.int_array_array a1, (select count(*) cnt2 from a1.item a2) v2
---- RESULTS
3,2
3,2
3,4
3,3
3,0
3,0
0,0
0,0
0,2
1,2
1,0
---- TYPES
bigint,bigint
====
---- QUERY
-- Materialize array of no slots, and array of arrays
select cnt1, cnt2 from complextypestbl t,
(select count(*) cnt1 from t.int_array) v1,
t.int_array_array a1, (select count(item) cnt2 from a1.item a2) v2
---- RESULTS
3,2
3,2
6,2
6,2
6,0
6,0
0,0
0,0
0,2
1,2
1,0
---- TYPES
bigint,bigint
====
---- QUERY
-- Materialize scalar, array, and flattened version of nested arrays
select id, cnt1, cnt2 from complextypestbl t,
(select count(item) cnt1 from t.int_array) v1,
(select count(item) cnt2 from t.int_array_array.item) v2
---- RESULTS
1,3,4
2,3,4
3,0,0
4,0,0
5,0,0
6,0,0
7,0,2
8,1,2
---- TYPES
bigint,bigint,bigint
====
---- QUERY
-- Materialize array and flattened version of nested arrays
select cnt1, cnt2 from complextypestbl t,
(select count(item) cnt1 from t.int_array) v1,
(select count(item) cnt2 from t.int_array_array.item) v2
---- RESULTS
3,4
3,4
0,0
0,0
0,0
0,0
0,2
1,2
---- TYPES
bigint,bigint
====
---- QUERY
-- Materialize scalar, array, and flattened version of nested arrays with no slots
select id, cnt1, cnt2 from complextypestbl t,
(select count(item) cnt1 from t.int_array) v1,
(select count(*) cnt2 from t.int_array_array.item) v2
---- RESULTS
1,3,4
2,3,7
3,0,0
4,0,0
5,0,0
6,0,0
7,0,2
8,1,2
---- TYPES
bigint,bigint,bigint
====
---- QUERY
-- Materialize array and flattened version of nested arrays with no slots
select cnt1, cnt2 from complextypestbl t,
(select count(item) cnt1 from t.int_array) v1,
(select count(*) cnt2 from t.int_array_array.item) v2
---- RESULTS
3,4
3,7
0,0
0,0
0,0
0,0
0,2
1,2
---- TYPES
bigint,bigint
====
---- QUERY
-- Materialize scalar and deeply nested array
select id, e, f from complextypestbl t, t.nested_struct.c.d.item
---- RESULTS
1,10,'aaa'
1,-10,'bbb'
1,11,'c'
2,NULL,'NULL'
2,10,'aaa'
2,NULL,'NULL'
2,-10,'bbb'
2,NULL,'NULL'
2,11,'c'
2,NULL,'NULL'
7,NULL,'NULL'
8,-1,'nonnullable'
---- TYPES
bigint,int,string
====
---- QUERY
-- Materialize deeply nested array
select e, f from complextypestbl t, t.nested_struct.c.d.item
---- RESULTS
10,'aaa'
-10,'bbb'
11,'c'
NULL,'NULL'
10,'aaa'
NULL,'NULL'
-10,'bbb'
NULL,'NULL'
11,'c'
NULL,'NULL'
NULL,'NULL'
-1,'nonnullable'
---- TYPES
int,string
====
---- QUERY
-- Materialize scalar and complicated nested array (may be optimized away someday)
select id, arr.item.e, arr.item.f from complextypestbl t, t.nested_struct.c.d, d.item arr
---- RESULTS
1,10,'aaa'
1,-10,'bbb'
1,11,'c'
2,NULL,'NULL'
2,10,'aaa'
2,NULL,'NULL'
2,-10,'bbb'
2,NULL,'NULL'
2,11,'c'
2,NULL,'NULL'
7,NULL,'NULL'
8,-1,'nonnullable'
---- TYPES
bigint,int,string
====
---- QUERY
-- Materialize complicated nested array (may be optimized away someday)
select arr.item.e, arr.item.f from complextypestbl t, t.nested_struct.c.d, d.item arr
---- RESULTS
10,'aaa'
-10,'bbb'
11,'c'
NULL,'NULL'
10,'aaa'
NULL,'NULL'
-10,'bbb'
NULL,'NULL'
11,'c'
NULL,'NULL'
NULL,'NULL'
-1,'nonnullable'
---- TYPES
int,string
====
---- QUERY
-- Materialize scalar and array of arrays, with structs in schema
select id, cnt from complextypestbl t, t.nested_struct.c.d,
(select count(arr.item.e) cnt from d.item arr) v
---- RESULTS
1,2
1,1
2,2
2,1
2,0
2,0
7,0
7,0
7,0
8,1
---- TYPES
bigint,bigint
====
---- QUERY
-- Materialize array of arrays, with structs in schema
select cnt from complextypestbl t, t.nested_struct.c.d,
(select count(arr.item.e) cnt from d.item arr) v
---- RESULTS
2
1
2
1
0
0
0
0
0
1
---- TYPES
bigint
====
---- QUERY
-- Materialize scalar and array of arrays of no slots, with structs in schema
select id, cnt from complextypestbl t, t.nested_struct.c.d,
(select count(*) cnt from d.item arr) v
---- RESULTS
1,2
1,1
2,5
2,2
2,0
2,0
7,0
7,1
7,0
8,1
---- TYPES
bigint,bigint
====
---- QUERY
-- Materialize array of arrays of no slots, with structs in schema
select cnt from complextypestbl t, t.nested_struct.c.d,
(select count(*) cnt from d.item arr) v
---- RESULTS
2
1
5
2
0
0
0
1
0
1
---- TYPES
bigint
====
---- QUERY
-- Materialize scalar and array of no slots counting nested arrays, with structs in schema
select id, cnt from complextypestbl t,
(select count(*) cnt from t.nested_struct.c.d) v
---- RESULTS
1,2
2,4
3,0
4,0
5,0
6,0
7,3
8,1
---- TYPES
bigint,bigint
====
---- QUERY
-- Materialize array of no slots counting nested arrays, with structs in schema
select cnt from complextypestbl t,
(select count(*) cnt from t.nested_struct.c.d) v
---- RESULTS
2
4
0
0
0
0
3
1
---- TYPES
bigint
====
---- QUERY
-- Materialize scalars, array, and array of arrays, with structs in schema
select id, t.nested_struct.a, cnt1, cnt2 from complextypestbl t,
(select count(item) cnt1 from t.nested_struct.b) v1,
t.nested_struct.c.d, (select count(arr.item.e) cnt2 from d.item arr) v2
---- RESULTS
1,1,1,2
1,1,1,1
2,NULL,0,2
2,NULL,0,1
2,NULL,0,0
2,NULL,0,0
7,7,2,0
7,7,2,0
7,7,2,0
8,-1,1,1
---- TYPES
bigint,int,bigint,bigint
====
---- QUERY
-- Materialize array and array of arrays, with structs in schema
select cnt1, cnt2 from complextypestbl t,
(select count(item) cnt1 from t.nested_struct.b) v1,
t.nested_struct.c.d, (select count(arr.item.e) cnt2 from d.item arr) v2
---- RESULTS
1,2
1,1
0,2
0,1
0,0
0,0
2,0
2,0
2,0
1,1
---- TYPES
bigint,bigint
====
---- QUERY
-- Materialize scalars, array with no slots, and array of arrays with no slots, with
-- structs in schema
select id, t.nested_struct.a, cnt1, cnt2 from complextypestbl t,
(select count(*) cnt1 from t.nested_struct.b) v1,
t.nested_struct.c.d, (select count(*) cnt2 from d.item arr) v2
---- RESULTS
1,1,1,2
1,1,1,1
2,NULL,1,5
2,NULL,1,2
2,NULL,1,0
2,NULL,1,0
7,7,3,0
7,7,3,1
7,7,3,0
8,-1,1,1
---- TYPES
bigint,int,bigint,bigint
====
---- QUERY
-- Materialize array with no slots and array of arrays with no slots, with structs in
-- schema
select cnt1, cnt2 from complextypestbl t,
(select count(*) cnt1 from t.nested_struct.b) v1,
t.nested_struct.c.d, (select count(*) cnt2 from d.item arr) v2
---- RESULTS
1,2
1,1
1,5
1,2
1,0
1,0
3,0
3,1
3,0
1,1
---- TYPES
bigint,bigint
====
---- QUERY
-- Materialize scalars, array, and array of arrays with no slots, with structs in schema
select id, t.nested_struct.a, cnt1, cnt2 from complextypestbl t,
(select count(item) cnt1 from t.nested_struct.b) v1,
t.nested_struct.c.d, (select count(*) cnt2 from d.item arr) v2
---- RESULTS
1,1,1,2
1,1,1,1
2,NULL,0,5
2,NULL,0,2
2,NULL,0,0
2,NULL,0,0
7,7,2,0
7,7,2,1
7,7,2,0
8,-1,1,1
---- TYPES
bigint,int,bigint,bigint
====
---- QUERY
-- Materialize array and array of arrays with no slots, with structs in schema
select cnt1, cnt2 from complextypestbl t,
(select count(item) cnt1 from t.nested_struct.b) v1,
t.nested_struct.c.d, (select count(*) cnt2 from d.item arr) v2
---- RESULTS
1,2
1,1
0,5
0,2
0,0
0,0
2,0
2,1
2,0
1,1
---- TYPES
bigint,bigint
====
---- QUERY
-- Materialize scalars, array with no slots, and array of arrays, with structs in schema
select id, t.nested_struct.a, cnt1, cnt2 from complextypestbl t,
(select count(*) cnt1 from t.nested_struct.b) v1,
t.nested_struct.c.d, (select count(arr.item.e) cnt2 from d.item arr) v2
---- RESULTS
1,1,1,2
1,1,1,1
2,NULL,1,2
2,NULL,1,1
2,NULL,1,0
2,NULL,1,0
7,7,3,0
7,7,3,0
7,7,3,0
8,-1,1,1
---- TYPES
bigint,int,bigint,bigint
====
---- QUERY
-- Materialize array with no slots and array of arrays, with structs in schema
select cnt1, cnt2 from complextypestbl t,
(select count(*) cnt1 from t.nested_struct.b) v1,
t.nested_struct.c.d, (select count(arr.item.e) cnt2 from d.item arr) v2
---- RESULTS
1,2
1,1
1,2
1,1
1,0
1,0
3,0
3,0
3,0
1,1
---- TYPES
bigint,bigint
====
---- QUERY
-- Materialize scalar and complicated nested array
select id, cnt from complextypestbl t,
(select count(e) cnt from t.nested_struct.c.d.item) v
---- RESULTS
1,3
2,3
3,0
4,0
5,0
6,0
7,0
8,1
---- TYPES
bigint,bigint
====
---- QUERY
-- Materialize complicated nested array
select cnt from complextypestbl t,
(select count(e) cnt from t.nested_struct.c.d.item) v
---- RESULTS
3
3
0
0
0
0
0
1
---- TYPES
bigint
====
---- QUERY
-- Materialize scalar and complicated nested array with no slots
select id, cnt from complextypestbl t,
(select count(*) cnt from t.nested_struct.c.d.item) v
---- RESULTS
1,3
2,7
3,0
4,0
5,0
6,0
7,1
8,1
---- TYPES
bigint,bigint
====
---- QUERY
-- Materialize complicated nested array with no slots
select cnt from complextypestbl t,
(select count(*) cnt from t.nested_struct.c.d.item) v
---- RESULTS
3
7
0
0
0
0
1
1
---- TYPES
bigint
====
---- QUERY
-- Materialize scalar and array of arrays, with structs in schema
select id, cnt from complextypestbl t, t.nested_struct.c.d,
(select count(f) cnt from d.item) v
---- RESULTS
1,2
1,1
2,2
2,1
2,0
2,0
7,0
7,0
7,0
8,1
---- TYPES
bigint,bigint
====
---- QUERY
-- Materialize array of arrays, with structs in schema
select cnt from complextypestbl t, t.nested_struct.c.d,
(select count(f) cnt from d.item) v
---- RESULTS
2
1
2
1
0
0
0
0
0
1
---- TYPES
bigint
====
---- QUERY
-- Materialize scalar and nested array from struct
select nested_struct.a, f from complextypestbl t, t.nested_struct.c.d.item
---- RESULTS
1,'aaa'
1,'bbb'
1,'c'
NULL,'NULL'
NULL,'aaa'
NULL,'NULL'
NULL,'bbb'
NULL,'NULL'
NULL,'c'
NULL,'NULL'
7,'NULL'
-1,'nonnullable'
---- TYPES
int,string
====
---- QUERY
-- Materialize scalar and nested array from struct
select id, cnt from complextypestbl t,
(select count(f) cnt from t.nested_struct.c.d.item) v;
---- RESULTS
1,3
2,3
3,0
4,0
5,0
6,0
7,0
8,1
---- TYPES
bigint,bigint
====
---- QUERY
-- Materialize nested array from struct
select cnt from complextypestbl t,
(select count(f) cnt from t.nested_struct.c.d.item) v;
---- RESULTS
3
3
0
0
0
0
0
1
---- TYPES
bigint
====
---- QUERY
-- Materialize scalar and nested array with no slots, with structs in schema
select id, cnt from complextypestbl t,
(select count(*) cnt from t.nested_struct.c.d.item) v;
---- RESULTS
1,3
2,7
3,0
4,0
5,0
6,0
7,1
8,1
---- TYPES
bigint,bigint
====
---- QUERY
-- Materialize nested array with no slots, with structs in schema
select cnt from complextypestbl t,
(select count(*) cnt from t.nested_struct.c.d.item) v;
---- RESULTS
3
7
0
0
0
0
1
1
---- TYPES
bigint
====
---- QUERY
-- Materialize scalar and flattened array with no slots from struct
select nested_struct.a, cnt from complextypestbl t,
(select count(*) cnt from t.nested_struct.c.d.item) v
---- RESULTS
1,3
NULL,7
NULL,0
NULL,0
NULL,0
NULL,0
7,1
-1,1
---- TYPES
int,bigint
====
---- QUERY
-- Materialize array and nested array from struct
select a1.item, a2.f
from complextypestbl t, t.nested_struct.b a1, t.nested_struct.c.d.item a2
---- RESULTS
1,'aaa'
1,'bbb'
1,'c'
NULL,'NULL'
NULL,'aaa'
NULL,'NULL'
NULL,'bbb'
NULL,'NULL'
NULL,'c'
NULL,'NULL'
2,'NULL'
3,'NULL'
NULL,'NULL'
-1,'nonnullable'
---- TYPES
int,string
====
---- QUERY
-- Materialize scalar, array, and nested array from struct
select t.nested_struct.a, a1.item, a2.f
from complextypestbl t, t.nested_struct.b a1, t.nested_struct.c.d.item a2
---- RESULTS
1,1,'aaa'
1,1,'bbb'
1,1,'c'
NULL,NULL,'NULL'
NULL,NULL,'aaa'
NULL,NULL,'NULL'
NULL,NULL,'bbb'
NULL,NULL,'NULL'
NULL,NULL,'c'
NULL,NULL,'NULL'
7,2,'NULL'
7,3,'NULL'
7,NULL,'NULL'
-1,-1,'nonnullable'
---- TYPES
int,int,string
====