@@ -505,7 +505,19 @@ select cardinality(make_array([1, 2], [3, 4], [5, 6])), cardinality(array_fill(3
505
505
query II
506
506
select cardinality(make_array()), cardinality(make_array(make_array()))
507
507
----
508
- 0 0
508
+ NULL 0
509
+
510
+ # cardinality with columns
511
+ query III
512
+ select cardinality(column1), cardinality(column2), cardinality(column3) from arrays;
513
+ ----
514
+ 4 3 5
515
+ 4 3 5
516
+ 4 3 5
517
+ 4 3 3
518
+ NULL 3 4
519
+ 4 NULL 1
520
+ 4 3 NULL
509
521
510
522
## trim_array
511
523
@@ -565,13 +577,39 @@ select array_length(make_array()), array_length(make_array(), 1), array_length(m
565
577
----
566
578
0 0 NULL
567
579
580
+ # array_length with columns
581
+ query I
582
+ select array_length(column1, column3) from arrays_values;
583
+ ----
584
+ 10
585
+ NULL
586
+ NULL
587
+ NULL
588
+ NULL
589
+ NULL
590
+ NULL
591
+ NULL
592
+
593
+ # array_length with columns and scalars
594
+ query II
595
+ select array_length(array[array[1, 2], array[3, 4]], column3), array_length(column1, 1) from arrays_values;
596
+ ----
597
+ 2 10
598
+ 2 10
599
+ NULL 10
600
+ NULL 10
601
+ NULL NULL
602
+ NULL 10
603
+ NULL 10
604
+ NULL 10
605
+
568
606
## array_dims
569
607
570
608
# array_dims scalar function
571
- query error DataFusion error: SQL error: ParserError\("Expected an SQL statement, found: caused"\)
572
- caused by
573
- Error during planning: Cannot automatically convert List\(Field \{ name: "item", data_type: UInt8, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: \{\} \}\) to UInt8
609
+ query ???
574
610
select array_dims(make_array(1, 2, 3)), array_dims(make_array([1, 2], [3, 4])), array_dims(make_array([[[[1], [2]]]]));
611
+ ----
612
+ [3] [2, 2] [1, 1, 1, 2, 1]
575
613
576
614
# array_dims scalar function #2
577
615
query error DataFusion error: SQL error: ParserError\("Expected an SQL statement, found: caused"\)
@@ -580,10 +618,22 @@ Error during planning: Cannot automatically convert List\(Field \{ name: "item",
580
618
select array_dims(array_fill(2, [1, 2, 3])), array_dims(array_fill(3, [2, 5, 4]));
581
619
582
620
# array_dims scalar function #3
583
- query error DataFusion error: SQL error: ParserError\("Expected an SQL statement, found: caused"\)
584
- caused by
585
- Error during planning: Cannot automatically convert List\(Field \{ name: "item", data_type: UInt8, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: \{\} \}\) to UInt8
621
+ query ??
586
622
select array_dims(make_array()), array_dims(make_array(make_array()))
623
+ ----
624
+ NULL [1, 0]
625
+
626
+ # array_dims with columns
627
+ query ???
628
+ select array_dims(column1), array_dims(column2), array_dims(column3) from arrays;
629
+ ----
630
+ [2, 2] [3] [5]
631
+ [2, 2] [3] [5]
632
+ [2, 2] [3] [5]
633
+ [2, 2] [3] [3]
634
+ NULL [3] [4]
635
+ [2, 2] NULL [1]
636
+ [2, 2] [3] NULL
587
637
588
638
## array_ndims
589
639
@@ -603,7 +653,19 @@ select array_ndims(array_fill(1, [1, 2, 3])), array_ndims([[[[[[[[[[[[[[[[[[[[[1
603
653
query II
604
654
select array_ndims(make_array()), array_ndims(make_array(make_array()))
605
655
----
606
- 1 2
656
+ NULL 2
657
+
658
+ # array_ndims with columns
659
+ query III
660
+ select array_ndims(column1), array_ndims(column2), array_ndims(column3) from arrays;
661
+ ----
662
+ 2 1 1
663
+ 2 1 1
664
+ 2 1 1
665
+ 2 1 1
666
+ NULL 1 1
667
+ 2 NULL 1
668
+ 2 1 NULL
607
669
608
670
## array_contains
609
671
0 commit comments