@@ -63,6 +63,7 @@ AS VALUES
6363 (make_array(make_array(5, 6),make_array(7, 8)), make_array(7.7, 8.8, 9.9), make_array('d', NULL, 'l', 'o', 'r')),
6464 (make_array(make_array(7, NULL),make_array(9, 10)), make_array(10.1, NULL, 12.2), make_array('s', 'i', 't')),
6565 (NULL, make_array(13.3, 14.4, 15.5), make_array('a', 'm', 'e', 't')),
66+ (NULL, make_array(), make_array('a', 'm', 'e', 't')),
6667 (make_array(make_array(11, 12),make_array(13, 14)), NULL, make_array(',')),
6768 (make_array(make_array(15, 16),make_array(NULL, 18)), make_array(16.6, 17.7, 18.8), NULL)
6869;
@@ -709,6 +710,7 @@ List(Field { name: "item", data_type: List(Field { name: "item", data_type: Int6
709710List(Field { name: "item", data_type: List(Field { name: "item", data_type: Int64, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {} }), nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {} }) List(Field { name: "item", data_type: Float64, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {} }) List(Field { name: "item", data_type: Utf8, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {} })
710711List(Field { name: "item", data_type: List(Field { name: "item", data_type: Int64, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {} }), nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {} }) List(Field { name: "item", data_type: Float64, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {} }) List(Field { name: "item", data_type: Utf8, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {} })
711712List(Field { name: "item", data_type: List(Field { name: "item", data_type: Int64, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {} }), nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {} }) List(Field { name: "item", data_type: Float64, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {} }) List(Field { name: "item", data_type: Utf8, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {} })
713+ List(Field { name: "item", data_type: List(Field { name: "item", data_type: Int64, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {} }), nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {} }) List(Field { name: "item", data_type: Float64, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {} }) List(Field { name: "item", data_type: Utf8, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {} })
712714
713715# arrays table
714716query ???
@@ -719,6 +721,7 @@ select column1, column2, column3 from arrays;
719721[[5, 6], [7, 8]] [7.7, 8.8, 9.9] [d, NULL, l, o, r]
720722[[7, NULL], [9, 10]] [10.1, NULL, 12.2] [s, i, t]
721723NULL [13.3, 14.4, 15.5] [a, m, e, t]
724+ NULL [] [a, m, e, t]
722725[[11, 12], [13, 14]] NULL [,]
723726[[15, 16], [NULL, 18]] [16.6, 17.7, 18.8] NULL
724727
@@ -844,6 +847,7 @@ select column1[2], column2[3], column3[1] from arrays;
844847[7, 8] 9.9 d
845848[9, 10] 12.2 s
846849NULL 15.5 a
850+ NULL NULL a
847851[13, 14] NULL ,
848852[NULL, 18] 18.8 NULL
849853
@@ -858,6 +862,7 @@ NULL NULL NULL
858862NULL NULL NULL
859863NULL NULL NULL
860864NULL NULL NULL
865+ NULL NULL NULL
861866
862867# single index with columns #3 (negative index)
863868query ?RT
@@ -868,6 +873,7 @@ select column1[-2], column2[-3], column3[-1] from arrays;
868873[5, 6] 7.7 r
869874[7, NULL] 10.1 t
870875NULL 13.3 t
876+ NULL NULL t
871877[11, 12] NULL ,
872878[15, 16] 16.6 NULL
873879
@@ -880,6 +886,7 @@ select column1[9 - 7], column2[2 * 0], column3[1 - 3] from arrays;
880886[7, 8] NULL o
881887[9, 10] NULL i
882888NULL NULL e
889+ NULL NULL e
883890[13, 14] NULL NULL
884891[NULL, 18] NULL NULL
885892
@@ -951,6 +958,7 @@ select column1[2:4], column2[1:4], column3[3:4] from arrays;
951958[[7, 8]] [7.7, 8.8, 9.9] [l, o]
952959[[9, 10]] [10.1, NULL, 12.2] [t]
953960NULL [13.3, 14.4, 15.5] [e, t]
961+ NULL [] [e, t]
954962[[13, 14]] NULL []
955963[[NULL, 18]] [16.6, 17.7, 18.8] NULL
956964
@@ -963,6 +971,7 @@ select column1[0:5], column2[0:3], column3[0:9] from arrays;
963971[[5, 6], [7, 8]] [7.7, 8.8, 9.9] [d, NULL, l, o, r]
964972[[7, NULL], [9, 10]] [10.1, NULL, 12.2] [s, i, t]
965973NULL [13.3, 14.4, 15.5] [a, m, e, t]
974+ NULL [] [a, m, e, t]
966975[[11, 12], [13, 14]] NULL [,]
967976[[15, 16], [NULL, 18]] [16.6, 17.7, 18.8] NULL
968977
@@ -1027,6 +1036,7 @@ select column1[2:4:2], column2[1:4:2], column3[3:4:2] from arrays;
10271036[[7, 8]] [7.7, 9.9] [l]
10281037[[9, 10]] [10.1, 12.2] [t]
10291038NULL [13.3, 15.5] [e]
1039+ NULL [] [e]
10301040[[13, 14]] NULL []
10311041[[NULL, 18]] [16.6, 18.8] NULL
10321042
@@ -1039,6 +1049,7 @@ select column1[0:5:2], column2[0:3:2], column3[0:9:2] from arrays;
10391049[[5, 6]] [7.7, 9.9] [d, l, r]
10401050[[7, NULL]] [10.1, 12.2] [s, t]
10411051NULL [13.3, 15.5] [a, e]
1052+ NULL [] [a, e]
10421053[[11, 12]] NULL [,]
10431054[[15, 16]] [16.6, 18.8] NULL
10441055
@@ -2488,6 +2499,7 @@ select array_append(column2, 100.1), array_append(column3, '.') from arrays;
24882499[7.7, 8.8, 9.9, 100.1] [d, NULL, l, o, r, .]
24892500[10.1, NULL, 12.2, 100.1] [s, i, t, .]
24902501[13.3, 14.4, 15.5, 100.1] [a, m, e, t, .]
2502+ [100.1] [a, m, e, t, .]
24912503[100.1] [,, .]
24922504[16.6, 17.7, 18.8, 100.1] [.]
24932505
@@ -2499,6 +2511,7 @@ select array_append(column2, 100.1), array_append(column3, '.') from large_array
24992511[7.7, 8.8, 9.9, 100.1] [d, NULL, l, o, r, .]
25002512[10.1, NULL, 12.2, 100.1] [s, i, t, .]
25012513[13.3, 14.4, 15.5, 100.1] [a, m, e, t, .]
2514+ [100.1] [a, m, e, t, .]
25022515[100.1] [,, .]
25032516[16.6, 17.7, 18.8, 100.1] [.]
25042517
@@ -2743,6 +2756,7 @@ select array_prepend(100.1, column2), array_prepend('.', column3) from arrays;
27432756[100.1, 7.7, 8.8, 9.9] [., d, NULL, l, o, r]
27442757[100.1, 10.1, NULL, 12.2] [., s, i, t]
27452758[100.1, 13.3, 14.4, 15.5] [., a, m, e, t]
2759+ [100.1] [., a, m, e, t]
27462760[100.1] [., ,]
27472761[100.1, 16.6, 17.7, 18.8] [.]
27482762
@@ -2754,6 +2768,7 @@ select array_prepend(100.1, column2), array_prepend('.', column3) from large_arr
27542768[100.1, 7.7, 8.8, 9.9] [., d, NULL, l, o, r]
27552769[100.1, 10.1, NULL, 12.2] [., s, i, t]
27562770[100.1, 13.3, 14.4, 15.5] [., a, m, e, t]
2771+ [100.1] [., a, m, e, t]
27572772[100.1] [., ,]
27582773[100.1, 16.6, 17.7, 18.8] [.]
27592774
@@ -3112,6 +3127,7 @@ select array_concat(column1, column1), array_concat(column2, column2), array_con
31123127[[5, 6], [7, 8], [5, 6], [7, 8]] [7.7, 8.8, 9.9, 7.7, 8.8, 9.9] [d, NULL, l, o, r, d, NULL, l, o, r]
31133128[[7, NULL], [9, 10], [7, NULL], [9, 10]] [10.1, NULL, 12.2, 10.1, NULL, 12.2] [s, i, t, s, i, t]
31143129NULL [13.3, 14.4, 15.5, 13.3, 14.4, 15.5] [a, m, e, t, a, m, e, t]
3130+ NULL [] [a, m, e, t, a, m, e, t]
31153131[[11, 12], [13, 14], [11, 12], [13, 14]] NULL [,, ,]
31163132[[15, 16], [NULL, 18], [15, 16], [NULL, 18]] [16.6, 17.7, 18.8, 16.6, 17.7, 18.8] NULL
31173133
@@ -3124,6 +3140,7 @@ select array_concat(column1, make_array(make_array(1, 2), make_array(3, 4))), ar
31243140[[5, 6], [7, 8], [1, 2], [3, 4]] [7.7, 8.8, 9.9, 1.1, 2.2, 3.3]
31253141[[7, NULL], [9, 10], [1, 2], [3, 4]] [10.1, NULL, 12.2, 1.1, 2.2, 3.3]
31263142[[1, 2], [3, 4]] [13.3, 14.4, 15.5, 1.1, 2.2, 3.3]
3143+ [[1, 2], [3, 4]] [1.1, 2.2, 3.3]
31273144[[11, 12], [13, 14], [1, 2], [3, 4]] [1.1, 2.2, 3.3]
31283145[[15, 16], [NULL, 18], [1, 2], [3, 4]] [16.6, 17.7, 18.8, 1.1, 2.2, 3.3]
31293146
@@ -3136,6 +3153,7 @@ select array_concat(column3, make_array('.', '.', '.')) from arrays;
31363153[d, NULL, l, o, r, ., ., .]
31373154[s, i, t, ., ., .]
31383155[a, m, e, t, ., ., .]
3156+ [a, m, e, t, ., ., .]
31393157[,, ., ., .]
31403158[., ., .]
31413159
@@ -4544,6 +4562,7 @@ NULL 0
45444562#NULL 0
45454563
45464564# cardinality with columns
4565+ # FIXME cardinality on empty array should be NULL or zero?
45474566query III
45484567select cardinality(column1), cardinality(column2), cardinality(column3) from arrays;
45494568----
@@ -4552,6 +4571,7 @@ select cardinality(column1), cardinality(column2), cardinality(column3) from arr
455245714 3 5
455345724 3 3
45544573NULL 3 4
4574+ NULL NULL 4
455545754 NULL 1
455645764 3 NULL
45574577
@@ -4563,6 +4583,7 @@ select cardinality(column1), cardinality(column2), cardinality(column3) from lar
456345834 3 5
456445844 3 3
45654585NULL 3 4
4586+ NULL NULL 4
456645874 NULL 1
456745884 3 NULL
45684589
@@ -5233,6 +5254,7 @@ select array_dims(column1), array_dims(column2), array_dims(column3) from arrays
52335254[2, 2] [3] [5]
52345255[2, 2] [3] [3]
52355256NULL [3] [4]
5257+ NULL NULL [4]
52365258[2, 2] NULL [1]
52375259[2, 2] [3] NULL
52385260
@@ -5244,6 +5266,7 @@ select array_dims(column1), array_dims(column2), array_dims(column3) from large_
52445266[2, 2] [3] [5]
52455267[2, 2] [3] [3]
52465268NULL [3] [4]
5269+ NULL NULL [4]
52475270[2, 2] NULL [1]
52485271[2, 2] [3] NULL
52495272
@@ -5400,6 +5423,7 @@ select array_ndims(column1), array_ndims(column2), array_ndims(column3) from arr
540054232 1 1
540154242 1 1
54025425NULL 1 1
5426+ NULL 1 1
540354272 NULL 1
540454282 1 NULL
54055429
@@ -5411,6 +5435,7 @@ select array_ndims(column1), array_ndims(column2), array_ndims(column3) from lar
541154352 1 1
541254362 1 1
54135437NULL 1 1
5438+ NULL 1 1
541454392 NULL 1
541554402 1 NULL
54165441
@@ -5732,6 +5757,7 @@ true false true false
57325757true false false true
57335758false true false false
57345759NULL NULL false false
5760+ NULL NULL false false
57355761false false NULL false
57365762false false false NULL
57375763
@@ -5747,6 +5773,7 @@ true false true false
57475773true false false true
57485774false true false false
57495775NULL NULL false false
5776+ NULL NULL false false
57505777false false NULL false
57515778false false false NULL
57525779
@@ -7068,27 +7095,29 @@ false
70687095#NULL
70697096
70707097# empty scalar function #5
7071- query B
7072- select empty(column1) from arrays;
7098+ query BB
7099+ select empty(column1), empty(column2) from arrays;
70737100----
7074- false
7075- false
7076- false
7077- false
7078- NULL
7079- false
7080- false
7101+ false false
7102+ false false
7103+ false false
7104+ false false
7105+ NULL false
7106+ NULL true
7107+ false NULL
7108+ false false
70817109
7082- query B
7083- select empty(arrow_cast(column1, 'LargeList(List(Int64))')) from arrays;
7110+ query BB
7111+ select empty(arrow_cast(column1, 'LargeList(List(Int64))')), empty(arrow_cast(column2, 'LargeList(Int64)')) from arrays;
70847112----
7085- false
7086- false
7087- false
7088- false
7089- NULL
7090- false
7091- false
7113+ false false
7114+ false false
7115+ false false
7116+ false false
7117+ NULL false
7118+ NULL true
7119+ false NULL
7120+ false false
70927121
70937122query B
70947123select empty(column1) from fixed_size_arrays;
0 commit comments