@@ -629,6 +629,38 @@ AS VALUES
629
629
(arrow_cast(make_array([28, 29, 30], [31, 32, 33], [34, 35, 36], [28, 29, 30], [31, 32, 33], [34, 35, 36], [28, 29, 30], [31, 32, 33], [34, 35, 36], [28, 29, 30]), 'FixedSizeList(10, List(Int64))'), [28, 29, 30], [28, 29, 30], 10)
630
630
;
631
631
632
+ statement ok
633
+ CREATE TABLE arrays_distance_table
634
+ AS VALUES
635
+ (make_array(1, 2, 3), make_array(1, 2, 3), make_array(1.1, 2.2, 3.3) , make_array(1.1, NULL, 3.3)),
636
+ (make_array(1, 2, 3), make_array(4, 5, 6), make_array(4.4, 5.5, 6.6), make_array(4.4, NULL, 6.6)),
637
+ (make_array(1, 2, 3), make_array(7, 8, 9), make_array(7.7, 8.8, 9.9), make_array(7.7, NULL, 9.9)),
638
+ (make_array(1, 2, 3), make_array(10, 11, 12), make_array(10.1, 11.2, 12.3), make_array(10.1, NULL, 12.3))
639
+ ;
640
+
641
+ statement ok
642
+ CREATE TABLE large_arrays_distance_table
643
+ AS
644
+ SELECT
645
+ arrow_cast(column1, 'LargeList(Int64)') AS column1,
646
+ arrow_cast(column2, 'LargeList(Int64)') AS column2,
647
+ arrow_cast(column3, 'LargeList(Float64)') AS column3,
648
+ arrow_cast(column4, 'LargeList(Float64)') AS column4
649
+ FROM arrays_distance_table
650
+ ;
651
+
652
+ statement ok
653
+ CREATE TABLE fixed_size_arrays_distance_table
654
+ AS
655
+ SELECT
656
+ arrow_cast(column1, 'FixedSizeList(3, Int64)') AS column1,
657
+ arrow_cast(column2, 'FixedSizeList(3, Int64)') AS column2,
658
+ arrow_cast(column3, 'FixedSizeList(3, Float64)') AS column3,
659
+ arrow_cast(column4, 'FixedSizeList(3, Float64)') AS column4
660
+ FROM arrays_distance_table
661
+ ;
662
+
663
+
632
664
# Array literal
633
665
634
666
## boolean coercion is not supported
@@ -4768,6 +4800,31 @@ select list_distance([1, 2, 3], [1, 2, 3]) AS distance;
4768
4800
----
4769
4801
0
4770
4802
4803
+ # array_distance with columns
4804
+ query RRR
4805
+ select array_distance(column1, column2), array_distance(column1, column3), array_distance(column1, column4) from arrays_distance_table;
4806
+ ----
4807
+ 0 0.374165738677 NULL
4808
+ 5.196152422707 6.063827174318 NULL
4809
+ 10.392304845413 11.778794505381 NULL
4810
+ 15.58845726812 15.935494971917 NULL
4811
+
4812
+ query RRR
4813
+ select array_distance(column1, column2), array_distance(column1, column3), array_distance(column1, column4) from large_arrays_distance_table;
4814
+ ----
4815
+ 0 0.374165738677 NULL
4816
+ 5.196152422707 6.063827174318 NULL
4817
+ 10.392304845413 11.778794505381 NULL
4818
+ 15.58845726812 15.935494971917 NULL
4819
+
4820
+ query RRR
4821
+ select array_distance(column1, column2), array_distance(column1, column3), array_distance(column1, column4) from fixed_size_arrays_distance_table;
4822
+ ----
4823
+ 0 0.374165738677 NULL
4824
+ 5.196152422707 6.063827174318 NULL
4825
+ 10.392304845413 11.778794505381 NULL
4826
+ 15.58845726812 15.935494971917 NULL
4827
+
4771
4828
4772
4829
## array_dims (aliases: `list_dims`)
4773
4830
0 commit comments