blob: c69d076ba0e83326190e50e97038677549619d70 [file] [log] [blame]
====
---- QUERY
# Let's just have the positions here for reference.
select id, file__position from complextypestbl;
---- RESULTS
1,0
2,1
3,2
4,3
5,4
6,5
7,6
8,0
---- TYPES
BIGINT, BIGINT
====
---- QUERY
# Let's query the top-level sruct so we can verify the following results.
select id, file__position, nested_struct from complextypestbl;
---- RESULTS
1,0,'{"a":1,"b":[1],"c":{"d":[[{"e":10,"f":"aaa"},{"e":-10,"f":"bbb"}],[{"e":11,"f":"c"}]]},"g":{"foo":{"h":{"i":[1.1]}}}}'
2,1,'{"a":null,"b":[null],"c":{"d":[[{"e":null,"f":null},{"e":10,"f":"aaa"},{"e":null,"f":null},{"e":-10,"f":"bbb"},{"e":null,"f":null}],[{"e":11,"f":"c"},null],[],null]},"g":{"g1":{"h":{"i":[2.2,null]}},"g2":{"h":{"i":[]}},"g3":null,"g4":{"h":{"i":null}},"g5":{"h":null}}}'
3,2,'{"a":null,"b":null,"c":{"d":[]},"g":{}}'
4,3,'{"a":null,"b":null,"c":{"d":null},"g":null}'
5,4,'{"a":null,"b":null,"c":null,"g":{"foo":{"h":{"i":[2.2,3.3]}}}}'
6,5,'NULL'
7,6,'{"a":7,"b":[2,3,null],"c":{"d":[[],[null],null]},"g":null}'
8,0,'{"a":-1,"b":[-1],"c":{"d":[[{"e":-1,"f":"nonnullable"}]]},"g":{}}'
---- TYPES
BIGINT, BIGINT, STRING
====
---- QUERY
# We only query the 'nested_struct' non-virtual column, so the STRUCT reader
# needs to set the file positions
select file__position, nested_struct from complextypestbl;
---- RESULTS
0,'{"a":1,"b":[1],"c":{"d":[[{"e":10,"f":"aaa"},{"e":-10,"f":"bbb"}],[{"e":11,"f":"c"}]]},"g":{"foo":{"h":{"i":[1.1]}}}}'
1,'{"a":null,"b":[null],"c":{"d":[[{"e":null,"f":null},{"e":10,"f":"aaa"},{"e":null,"f":null},{"e":-10,"f":"bbb"},{"e":null,"f":null}],[{"e":11,"f":"c"},null],[],null]},"g":{"g1":{"h":{"i":[2.2,null]}},"g2":{"h":{"i":[]}},"g3":null,"g4":{"h":{"i":null}},"g5":{"h":null}}}'
2,'{"a":null,"b":null,"c":{"d":[]},"g":{}}'
3,'{"a":null,"b":null,"c":{"d":null},"g":null}'
4,'{"a":null,"b":null,"c":null,"g":{"foo":{"h":{"i":[2.2,3.3]}}}}'
5,'NULL'
6,'{"a":7,"b":[2,3,null],"c":{"d":[[],[null],null]},"g":null}'
0,'{"a":-1,"b":[-1],"c":{"d":[[{"e":-1,"f":"nonnullable"}]]},"g":{}}'
---- TYPES
BIGINT, STRING
====
---- QUERY
select file__position, nested_struct from complextypestbl
where file__position = 2;
---- RESULTS
2,'{"a":null,"b":null,"c":{"d":[]},"g":{}}'
---- TYPES
BIGINT, STRING
====
---- QUERY
select file__position, nested_struct from complextypestbl
where nested_struct.a > 0;
---- RESULTS
0,'{"a":1,"b":[1],"c":{"d":[[{"e":10,"f":"aaa"},{"e":-10,"f":"bbb"}],[{"e":11,"f":"c"}]]},"g":{"foo":{"h":{"i":[1.1]}}}}'
6,'{"a":7,"b":[2,3,null],"c":{"d":[[],[null],null]},"g":null}'
---- TYPES
BIGINT, STRING
====
---- QUERY
select id, file__position, item from complextypestbl c, c.nested_struct.c.d.item;
---- RESULTS
1,0,'{"e":10,"f":"aaa"}'
1,0,'{"e":-10,"f":"bbb"}'
1,0,'{"e":11,"f":"c"}'
2,1,'{"e":null,"f":null}'
2,1,'{"e":10,"f":"aaa"}'
2,1,'{"e":null,"f":null}'
2,1,'{"e":-10,"f":"bbb"}'
2,1,'{"e":null,"f":null}'
2,1,'{"e":11,"f":"c"}'
2,1,'NULL'
7,6,'NULL'
8,0,'{"e":-1,"f":"nonnullable"}'
---- TYPES
BIGINT, BIGINT, STRING
====
---- QUERY
select file__position, item from complextypestbl c, c.nested_struct.c.d.item;
---- RESULTS
0,'{"e":10,"f":"aaa"}'
0,'{"e":-10,"f":"bbb"}'
0,'{"e":11,"f":"c"}'
1,'{"e":null,"f":null}'
1,'{"e":10,"f":"aaa"}'
1,'{"e":null,"f":null}'
1,'{"e":-10,"f":"bbb"}'
1,'{"e":null,"f":null}'
1,'{"e":11,"f":"c"}'
1,'NULL'
6,'NULL'
0,'{"e":-1,"f":"nonnullable"}'
---- TYPES
BIGINT, STRING
====
---- QUERY
select pos, item from complextypestbl c, c.nested_struct.c.d.item;
---- RESULTS
0,'{"e":10,"f":"aaa"}'
1,'{"e":-10,"f":"bbb"}'
0,'{"e":11,"f":"c"}'
0,'{"e":null,"f":null}'
1,'{"e":10,"f":"aaa"}'
2,'{"e":null,"f":null}'
3,'{"e":-10,"f":"bbb"}'
4,'{"e":null,"f":null}'
0,'{"e":11,"f":"c"}'
1,'NULL'
0,'NULL'
0,'{"e":-1,"f":"nonnullable"}'
---- TYPES
BIGINT, STRING
====
---- QUERY
select pos, item from complextypestbl c, c.nested_struct.c.d.item
where pos = 1;
---- RESULTS
1,'{"e":-10,"f":"bbb"}'
1,'{"e":10,"f":"aaa"}'
1,'NULL'
---- TYPES
BIGINT, STRING
====
---- QUERY
select pos, item from complextypestbl c, c.nested_struct.c.d.item it
where it.e < 11;
---- RESULTS
0,'{"e":10,"f":"aaa"}'
1,'{"e":-10,"f":"bbb"}'
1,'{"e":10,"f":"aaa"}'
3,'{"e":-10,"f":"bbb"}'
0,'{"e":-1,"f":"nonnullable"}'
---- TYPES
BIGINT, STRING
====
---- QUERY
# Queries like above, but with a flat tuple structure, i.e. the items
# are in the top-level (and only) tuple.
select pos, item from complextypestbl.nested_struct.c.d.item;
---- RESULTS
0,'{"e":10,"f":"aaa"}'
1,'{"e":-10,"f":"bbb"}'
0,'{"e":11,"f":"c"}'
0,'{"e":null,"f":null}'
1,'{"e":10,"f":"aaa"}'
2,'{"e":null,"f":null}'
3,'{"e":-10,"f":"bbb"}'
4,'{"e":null,"f":null}'
0,'{"e":11,"f":"c"}'
1,'NULL'
0,'NULL'
0,'{"e":-1,"f":"nonnullable"}'
---- TYPES
BIGINT, STRING
====
---- QUERY
select pos, item from complextypestbl.nested_struct.c.d.item
where pos = 1;
---- RESULTS
1,'{"e":-10,"f":"bbb"}'
1,'{"e":10,"f":"aaa"}'
1,'NULL'
---- TYPES
BIGINT, STRING
====
---- QUERY
select pos, item from complextypestbl.nested_struct.c.d.item it
where it.e < 11;
---- RESULTS
0,'{"e":10,"f":"aaa"}'
1,'{"e":-10,"f":"bbb"}'
1,'{"e":10,"f":"aaa"}'
3,'{"e":-10,"f":"bbb"}'
0,'{"e":-1,"f":"nonnullable"}'
---- TYPES
BIGINT, STRING
====
---- QUERY
select file__position, pos, item from complextypestbl c, c.nested_struct.c.d.item;
---- RESULTS
0,0,'{"e":10,"f":"aaa"}'
0,1,'{"e":-10,"f":"bbb"}'
0,0,'{"e":11,"f":"c"}'
1,0,'{"e":null,"f":null}'
1,1,'{"e":10,"f":"aaa"}'
1,2,'{"e":null,"f":null}'
1,3,'{"e":-10,"f":"bbb"}'
1,4,'{"e":null,"f":null}'
1,0,'{"e":11,"f":"c"}'
1,1,'NULL'
6,0,'NULL'
0,0,'{"e":-1,"f":"nonnullable"}'
---- TYPES
BIGINT, BIGINT, STRING
====