@@ -63,6 +63,7 @@ AS VALUES
63
63
(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')),
64
64
(make_array(make_array(7, NULL),make_array(9, 10)), make_array(10.1, NULL, 12.2), make_array('s', 'i', 't')),
65
65
(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')),
66
67
(make_array(make_array(11, 12),make_array(13, 14)), NULL, make_array(',')),
67
68
(make_array(make_array(15, 16),make_array(NULL, 18)), make_array(16.6, 17.7, 18.8), NULL)
68
69
;
@@ -709,6 +710,7 @@ List(Field { name: "item", data_type: List(Field { name: "item", data_type: Int6
709
710
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: {} })
710
711
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: {} })
711
712
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: {} })
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: {} })
712
714
713
715
# arrays table
714
716
query ???
@@ -719,6 +721,7 @@ select column1, column2, column3 from arrays;
719
721
[[5, 6], [7, 8]] [7.7, 8.8, 9.9] [d, NULL, l, o, r]
720
722
[[7, NULL], [9, 10]] [10.1, NULL, 12.2] [s, i, t]
721
723
NULL [13.3, 14.4, 15.5] [a, m, e, t]
724
+ NULL [] [a, m, e, t]
722
725
[[11, 12], [13, 14]] NULL [,]
723
726
[[15, 16], [NULL, 18]] [16.6, 17.7, 18.8] NULL
724
727
@@ -844,6 +847,7 @@ select column1[2], column2[3], column3[1] from arrays;
844
847
[7, 8] 9.9 d
845
848
[9, 10] 12.2 s
846
849
NULL 15.5 a
850
+ NULL NULL a
847
851
[13, 14] NULL ,
848
852
[NULL, 18] 18.8 NULL
849
853
@@ -858,6 +862,7 @@ NULL NULL NULL
858
862
NULL NULL NULL
859
863
NULL NULL NULL
860
864
NULL NULL NULL
865
+ NULL NULL NULL
861
866
862
867
# single index with columns #3 (negative index)
863
868
query ?RT
@@ -868,6 +873,7 @@ select column1[-2], column2[-3], column3[-1] from arrays;
868
873
[5, 6] 7.7 r
869
874
[7, NULL] 10.1 t
870
875
NULL 13.3 t
876
+ NULL NULL t
871
877
[11, 12] NULL ,
872
878
[15, 16] 16.6 NULL
873
879
@@ -880,6 +886,7 @@ select column1[9 - 7], column2[2 * 0], column3[1 - 3] from arrays;
880
886
[7, 8] NULL o
881
887
[9, 10] NULL i
882
888
NULL NULL e
889
+ NULL NULL e
883
890
[13, 14] NULL NULL
884
891
[NULL, 18] NULL NULL
885
892
@@ -951,6 +958,7 @@ select column1[2:4], column2[1:4], column3[3:4] from arrays;
951
958
[[7, 8]] [7.7, 8.8, 9.9] [l, o]
952
959
[[9, 10]] [10.1, NULL, 12.2] [t]
953
960
NULL [13.3, 14.4, 15.5] [e, t]
961
+ NULL [] [e, t]
954
962
[[13, 14]] NULL []
955
963
[[NULL, 18]] [16.6, 17.7, 18.8] NULL
956
964
@@ -963,6 +971,7 @@ select column1[0:5], column2[0:3], column3[0:9] from arrays;
963
971
[[5, 6], [7, 8]] [7.7, 8.8, 9.9] [d, NULL, l, o, r]
964
972
[[7, NULL], [9, 10]] [10.1, NULL, 12.2] [s, i, t]
965
973
NULL [13.3, 14.4, 15.5] [a, m, e, t]
974
+ NULL [] [a, m, e, t]
966
975
[[11, 12], [13, 14]] NULL [,]
967
976
[[15, 16], [NULL, 18]] [16.6, 17.7, 18.8] NULL
968
977
@@ -1027,6 +1036,7 @@ select column1[2:4:2], column2[1:4:2], column3[3:4:2] from arrays;
1027
1036
[[7, 8]] [7.7, 9.9] [l]
1028
1037
[[9, 10]] [10.1, 12.2] [t]
1029
1038
NULL [13.3, 15.5] [e]
1039
+ NULL [] [e]
1030
1040
[[13, 14]] NULL []
1031
1041
[[NULL, 18]] [16.6, 18.8] NULL
1032
1042
@@ -1039,6 +1049,7 @@ select column1[0:5:2], column2[0:3:2], column3[0:9:2] from arrays;
1039
1049
[[5, 6]] [7.7, 9.9] [d, l, r]
1040
1050
[[7, NULL]] [10.1, 12.2] [s, t]
1041
1051
NULL [13.3, 15.5] [a, e]
1052
+ NULL [] [a, e]
1042
1053
[[11, 12]] NULL [,]
1043
1054
[[15, 16]] [16.6, 18.8] NULL
1044
1055
@@ -2645,6 +2656,7 @@ select array_append(column2, 100.1), array_append(column3, '.') from arrays;
2645
2656
[7.7, 8.8, 9.9, 100.1] [d, NULL, l, o, r, .]
2646
2657
[10.1, NULL, 12.2, 100.1] [s, i, t, .]
2647
2658
[13.3, 14.4, 15.5, 100.1] [a, m, e, t, .]
2659
+ [100.1] [a, m, e, t, .]
2648
2660
[100.1] [,, .]
2649
2661
[16.6, 17.7, 18.8, 100.1] [.]
2650
2662
@@ -2656,6 +2668,7 @@ select array_append(column2, 100.1), array_append(column3, '.') from large_array
2656
2668
[7.7, 8.8, 9.9, 100.1] [d, NULL, l, o, r, .]
2657
2669
[10.1, NULL, 12.2, 100.1] [s, i, t, .]
2658
2670
[13.3, 14.4, 15.5, 100.1] [a, m, e, t, .]
2671
+ [100.1] [a, m, e, t, .]
2659
2672
[100.1] [,, .]
2660
2673
[16.6, 17.7, 18.8, 100.1] [.]
2661
2674
@@ -2903,6 +2916,7 @@ select array_prepend(100.1, column2), array_prepend('.', column3) from arrays;
2903
2916
[100.1, 7.7, 8.8, 9.9] [., d, NULL, l, o, r]
2904
2917
[100.1, 10.1, NULL, 12.2] [., s, i, t]
2905
2918
[100.1, 13.3, 14.4, 15.5] [., a, m, e, t]
2919
+ [100.1] [., a, m, e, t]
2906
2920
[100.1] [., ,]
2907
2921
[100.1, 16.6, 17.7, 18.8] [.]
2908
2922
@@ -2914,6 +2928,7 @@ select array_prepend(100.1, column2), array_prepend('.', column3) from large_arr
2914
2928
[100.1, 7.7, 8.8, 9.9] [., d, NULL, l, o, r]
2915
2929
[100.1, 10.1, NULL, 12.2] [., s, i, t]
2916
2930
[100.1, 13.3, 14.4, 15.5] [., a, m, e, t]
2931
+ [100.1] [., a, m, e, t]
2917
2932
[100.1] [., ,]
2918
2933
[100.1, 16.6, 17.7, 18.8] [.]
2919
2934
@@ -3275,6 +3290,7 @@ select array_concat(column1, column1), array_concat(column2, column2), array_con
3275
3290
[[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]
3276
3291
[[7, NULL], [9, 10], [7, NULL], [9, 10]] [10.1, NULL, 12.2, 10.1, NULL, 12.2] [s, i, t, s, i, t]
3277
3292
NULL [13.3, 14.4, 15.5, 13.3, 14.4, 15.5] [a, m, e, t, a, m, e, t]
3293
+ NULL [] [a, m, e, t, a, m, e, t]
3278
3294
[[11, 12], [13, 14], [11, 12], [13, 14]] NULL [,, ,]
3279
3295
[[15, 16], [NULL, 18], [15, 16], [NULL, 18]] [16.6, 17.7, 18.8, 16.6, 17.7, 18.8] NULL
3280
3296
@@ -3287,6 +3303,7 @@ select array_concat(column1, make_array(make_array(1, 2), make_array(3, 4))), ar
3287
3303
[[5, 6], [7, 8], [1, 2], [3, 4]] [7.7, 8.8, 9.9, 1.1, 2.2, 3.3]
3288
3304
[[7, NULL], [9, 10], [1, 2], [3, 4]] [10.1, NULL, 12.2, 1.1, 2.2, 3.3]
3289
3305
[[1, 2], [3, 4]] [13.3, 14.4, 15.5, 1.1, 2.2, 3.3]
3306
+ [[1, 2], [3, 4]] [1.1, 2.2, 3.3]
3290
3307
[[11, 12], [13, 14], [1, 2], [3, 4]] [1.1, 2.2, 3.3]
3291
3308
[[15, 16], [NULL, 18], [1, 2], [3, 4]] [16.6, 17.7, 18.8, 1.1, 2.2, 3.3]
3292
3309
@@ -3299,6 +3316,7 @@ select array_concat(column3, make_array('.', '.', '.')) from arrays;
3299
3316
[d, NULL, l, o, r, ., ., .]
3300
3317
[s, i, t, ., ., .]
3301
3318
[a, m, e, t, ., ., .]
3319
+ [a, m, e, t, ., ., .]
3302
3320
[,, ., ., .]
3303
3321
[., ., .]
3304
3322
@@ -4704,6 +4722,7 @@ NULL 0
4704
4722
#NULL 0
4705
4723
4706
4724
# cardinality with columns
4725
+ # FIXME cardinality on empty array should be NULL or zero?
4707
4726
query III
4708
4727
select cardinality(column1), cardinality(column2), cardinality(column3) from arrays;
4709
4728
----
@@ -4712,6 +4731,7 @@ select cardinality(column1), cardinality(column2), cardinality(column3) from arr
4712
4731
4 3 5
4713
4732
4 3 3
4714
4733
NULL 3 4
4734
+ NULL NULL 4
4715
4735
4 NULL 1
4716
4736
4 3 NULL
4717
4737
@@ -4723,6 +4743,7 @@ select cardinality(column1), cardinality(column2), cardinality(column3) from lar
4723
4743
4 3 5
4724
4744
4 3 3
4725
4745
NULL 3 4
4746
+ NULL NULL 4
4726
4747
4 NULL 1
4727
4748
4 3 NULL
4728
4749
@@ -5406,6 +5427,7 @@ select array_dims(column1), array_dims(column2), array_dims(column3) from arrays
5406
5427
[2, 2] [3] [5]
5407
5428
[2, 2] [3] [3]
5408
5429
NULL [3] [4]
5430
+ NULL NULL [4]
5409
5431
[2, 2] NULL [1]
5410
5432
[2, 2] [3] NULL
5411
5433
@@ -5417,6 +5439,7 @@ select array_dims(column1), array_dims(column2), array_dims(column3) from large_
5417
5439
[2, 2] [3] [5]
5418
5440
[2, 2] [3] [3]
5419
5441
NULL [3] [4]
5442
+ NULL NULL [4]
5420
5443
[2, 2] NULL [1]
5421
5444
[2, 2] [3] NULL
5422
5445
@@ -5575,6 +5598,7 @@ select array_ndims(column1), array_ndims(column2), array_ndims(column3) from arr
5575
5598
2 1 1
5576
5599
2 1 1
5577
5600
NULL 1 1
5601
+ NULL 1 1
5578
5602
2 NULL 1
5579
5603
2 1 NULL
5580
5604
@@ -5586,6 +5610,7 @@ select array_ndims(column1), array_ndims(column2), array_ndims(column3) from lar
5586
5610
2 1 1
5587
5611
2 1 1
5588
5612
NULL 1 1
5613
+ NULL 1 1
5589
5614
2 NULL 1
5590
5615
2 1 NULL
5591
5616
@@ -5907,6 +5932,7 @@ true false true false
5907
5932
true false false true
5908
5933
false true false false
5909
5934
NULL NULL false false
5935
+ NULL NULL false false
5910
5936
false false NULL false
5911
5937
false false false NULL
5912
5938
@@ -5922,6 +5948,7 @@ true false true false
5922
5948
true false false true
5923
5949
false true false false
5924
5950
NULL NULL false false
5951
+ NULL NULL false false
5925
5952
false false NULL false
5926
5953
false false false NULL
5927
5954
@@ -7442,27 +7469,29 @@ false
7442
7469
#NULL
7443
7470
7444
7471
# empty scalar function #5
7445
- query B
7446
- select empty(column1) from arrays;
7472
+ query BB
7473
+ select empty(column1), empty(column2) from arrays;
7447
7474
----
7448
- false
7449
- false
7450
- false
7451
- false
7452
- NULL
7453
- false
7454
- false
7475
+ false false
7476
+ false false
7477
+ false false
7478
+ false false
7479
+ NULL false
7480
+ NULL true
7481
+ false NULL
7482
+ false false
7455
7483
7456
- query B
7457
- select empty(arrow_cast(column1, 'LargeList(List(Int64))')) from arrays;
7484
+ query BB
7485
+ select empty(arrow_cast(column1, 'LargeList(List(Int64))')), empty(arrow_cast(column2, 'LargeList(Int64)')) from arrays;
7458
7486
----
7459
- false
7460
- false
7461
- false
7462
- false
7463
- NULL
7464
- false
7465
- false
7487
+ false false
7488
+ false false
7489
+ false false
7490
+ false false
7491
+ NULL false
7492
+ NULL true
7493
+ false NULL
7494
+ false false
7466
7495
7467
7496
query B
7468
7497
select empty(column1) from fixed_size_arrays;
0 commit comments