Skip to content

Commit 8cbec8e

Browse files
authored
chore: Array literals tests enable (apache#3633)
1 parent 34bbe78 commit 8cbec8e

11 files changed

Lines changed: 77 additions & 56 deletions

File tree

spark/src/main/scala/org/apache/comet/serde/arrays.scala

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,12 @@ object CometArrayAppend extends CometExpressionSerde[ArrayAppend] {
9595
val keyExprProto = exprToProto(expr.children(1), inputs, binding)
9696

9797
val arrayAppendScalarExpr =
98-
scalarFunctionExprToProto("array_append", arrayExprProto, keyExprProto)
98+
scalarFunctionExprToProtoWithReturnType(
99+
"array_append",
100+
ArrayType(elementType = elementType),
101+
false,
102+
arrayExprProto,
103+
keyExprProto)
99104

100105
val isNotNullExpr = createUnaryExpr(
101106
expr,

spark/src/test/resources/sql-tests/expressions/array/array_append.sql

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515
-- specific language governing permissions and limitations
1616
-- under the License.
1717

18+
-- Config: spark.comet.expression.ArrayInsert.allowIncompatible=true
19+
-- Config: spark.comet.expression.ArrayAppend.allowIncompatible=true
1820
-- ConfigMatrix: parquet.enable.dictionary=false,true
1921

2022
statement
@@ -23,17 +25,17 @@ CREATE TABLE test_array_append(arr array<int>, val int) USING parquet
2325
statement
2426
INSERT INTO test_array_append VALUES (array(1, 2, 3), 4), (array(), 1), (NULL, 1), (array(1, 2), NULL)
2527

26-
query spark_answer_only
28+
query
2729
SELECT array_append(arr, val) FROM test_array_append
2830

2931
-- column + literal
30-
query spark_answer_only
32+
query
3133
SELECT array_append(arr, 99) FROM test_array_append
3234

3335
-- literal + column
34-
query spark_answer_only
36+
query
3537
SELECT array_append(array(1, 2, 3), val) FROM test_array_append
3638

3739
-- literal + literal
38-
query ignore(https://github.com/apache/datafusion-comet/issues/3338)
40+
query
3941
SELECT array_append(array(1, 2, 3), 4), array_append(array(), 1), array_append(cast(NULL as array<int>), 1)

spark/src/test/resources/sql-tests/expressions/array/array_except.sql

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
-- KIND, either express or implied. See the License for the
1515
-- specific language governing permissions and limitations
1616
-- under the License.
17-
17+
-- Config: spark.comet.expression.ArrayExcept.allowIncompatible=true
1818
-- ConfigMatrix: parquet.enable.dictionary=false,true
1919

2020
statement
@@ -23,17 +23,17 @@ CREATE TABLE test_array_except(a array<int>, b array<int>) USING parquet
2323
statement
2424
INSERT INTO test_array_except VALUES (array(1, 2, 3), array(2, 3, 4)), (array(1, 2), array()), (array(), array(1)), (NULL, array(1)), (array(1, NULL), array(NULL))
2525

26-
query spark_answer_only
26+
query
2727
SELECT array_except(a, b) FROM test_array_except
2828

2929
-- column + literal
30-
query spark_answer_only
30+
query
3131
SELECT array_except(a, array(2, 3)) FROM test_array_except
3232

3333
-- literal + column
34-
query spark_answer_only
34+
query
3535
SELECT array_except(array(1, 2, 3), b) FROM test_array_except
3636

3737
-- literal + literal
38-
query ignore(https://github.com/apache/datafusion-comet/issues/3338)
38+
query ignore(https://github.com/apache/datafusion-comet/issues/3646)
3939
SELECT array_except(array(1, 2, 3), array(2, 3, 4)), array_except(array(1, 2), array()), array_except(array(), array(1)), array_except(cast(NULL as array<int>), array(1))

spark/src/test/resources/sql-tests/expressions/array/array_intersect.sql

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
-- specific language governing permissions and limitations
1616
-- under the License.
1717

18+
-- Config: spark.comet.expression.ArrayIntersect.allowIncompatible=true
1819
-- ConfigMatrix: parquet.enable.dictionary=false,true
1920

2021
statement
@@ -23,17 +24,17 @@ CREATE TABLE test_array_intersect(a array<int>, b array<int>) USING parquet
2324
statement
2425
INSERT INTO test_array_intersect VALUES (array(1, 2, 3), array(2, 3, 4)), (array(1, 2), array(3, 4)), (array(), array(1)), (NULL, array(1)), (array(1, NULL), array(NULL, 2))
2526

26-
query spark_answer_only
27+
query
2728
SELECT array_intersect(a, b) FROM test_array_intersect
2829

2930
-- column + literal
30-
query spark_answer_only
31+
query
3132
SELECT array_intersect(a, array(2, 3)) FROM test_array_intersect
3233

3334
-- literal + column
34-
query spark_answer_only
35+
query
3536
SELECT array_intersect(array(1, 2, 3), b) FROM test_array_intersect
3637

3738
-- literal + literal
38-
query ignore(https://github.com/apache/datafusion-comet/issues/3338)
39+
query
3940
SELECT array_intersect(array(1, 2, 3), array(2, 3, 4)), array_intersect(array(1, 2), array(3, 4)), array_intersect(array(), array(1)), array_intersect(cast(NULL as array<int>), array(1))

spark/src/test/resources/sql-tests/expressions/array/array_max.sql

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,5 +27,5 @@ query spark_answer_only
2727
SELECT array_max(arr) FROM test_array_max
2828

2929
-- literal arguments
30-
query ignore(https://github.com/apache/datafusion-comet/issues/3338)
30+
query
3131
SELECT array_max(array(1, 2, 3)), array_max(array()), array_max(cast(NULL as array<int>))

spark/src/test/resources/sql-tests/expressions/array/array_min.sql

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,5 +27,5 @@ query spark_answer_only
2727
SELECT array_min(arr) FROM test_array_min
2828

2929
-- literal arguments
30-
query ignore(https://github.com/apache/datafusion-comet/issues/3338)
30+
query
3131
SELECT array_min(array(1, 2, 3)), array_min(array()), array_min(cast(NULL as array<int>))

spark/src/test/resources/sql-tests/expressions/array/array_remove.sql

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,5 +35,5 @@ query spark_answer_only
3535
SELECT array_remove(array(1, 2, 3, 2), val) FROM test_array_remove
3636

3737
-- literal + literal
38-
query ignore(https://github.com/apache/datafusion-comet/issues/3338)
38+
query
3939
SELECT array_remove(array(1, 2, 3, 2), 2), array_remove(array(1, 2, 3), 4), array_remove(array(), 1), array_remove(cast(NULL as array<int>), 1)

spark/src/test/resources/sql-tests/expressions/array/array_union.sql

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
-- specific language governing permissions and limitations
1616
-- under the License.
1717

18+
-- Config: spark.comet.expression.ArrayUnion.allowIncompatible=true
1819
-- ConfigMatrix: parquet.enable.dictionary=false,true
1920

2021
statement
@@ -23,17 +24,17 @@ CREATE TABLE test_array_union(a array<int>, b array<int>) USING parquet
2324
statement
2425
INSERT INTO test_array_union VALUES (array(1, 2, 3), array(3, 4, 5)), (array(1, 2), array()), (array(), array(1)), (NULL, array(1)), (array(1, NULL), array(NULL, 2))
2526

26-
query spark_answer_only
27+
query ignore(https://github.com/apache/datafusion-comet/issues/3644)
2728
SELECT array_union(a, b) FROM test_array_union
2829

2930
-- column + literal
30-
query spark_answer_only
31+
query ignore(https://github.com/apache/datafusion-comet/issues/3644)
3132
SELECT array_union(a, array(3, 4, 5)) FROM test_array_union
3233

3334
-- literal + column
34-
query spark_answer_only
35+
query
3536
SELECT array_union(array(1, 2, 3), b) FROM test_array_union
3637

3738
-- literal + literal
38-
query ignore(https://github.com/apache/datafusion-comet/issues/3338)
39+
query
3940
SELECT array_union(array(1, 2, 3), array(3, 4, 5)), array_union(array(1, 2), array()), array_union(array(), array(1)), array_union(cast(NULL as array<int>), array(1))

spark/src/test/resources/sql-tests/expressions/array/arrays_overlap.sql

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
-- specific language governing permissions and limitations
1616
-- under the License.
1717

18+
-- Config: spark.comet.expression.ArraysOverlap.allowIncompatible=true
1819
-- ConfigMatrix: parquet.enable.dictionary=false,true
1920

2021
statement
@@ -23,17 +24,17 @@ CREATE TABLE test_arrays_overlap(a array<int>, b array<int>) USING parquet
2324
statement
2425
INSERT INTO test_arrays_overlap VALUES (array(1, 2, 3), array(3, 4, 5)), (array(1, 2), array(3, 4)), (array(), array(1)), (NULL, array(1)), (array(1, NULL), array(NULL, 2))
2526

26-
query spark_answer_only
27+
query ignore(https://github.com/apache/datafusion-comet/issues/3645)
2728
SELECT arrays_overlap(a, b) FROM test_arrays_overlap
2829

2930
-- column + literal
30-
query spark_answer_only
31+
query ignore(https://github.com/apache/datafusion-comet/issues/3645)
3132
SELECT arrays_overlap(a, array(3, 4, 5)) FROM test_arrays_overlap
3233

3334
-- literal + column
34-
query spark_answer_only
35+
query
3536
SELECT arrays_overlap(array(1, 2, 3), b) FROM test_arrays_overlap
3637

3738
-- literal + literal
38-
query ignore(https://github.com/apache/datafusion-comet/issues/3338)
39+
query
3940
SELECT arrays_overlap(array(1, 2, 3), array(3, 4, 5)), arrays_overlap(array(1, 2), array(3, 4)), arrays_overlap(array(), array(1)), arrays_overlap(cast(NULL as array<int>), array(1))

spark/src/test/resources/sql-tests/expressions/array/size.sql

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,5 +27,5 @@ query spark_answer_only
2727
SELECT size(arr), size(m) FROM test_size
2828

2929
-- literal arguments
30-
query ignore(https://github.com/apache/datafusion-comet/issues/3338)
30+
query
3131
SELECT size(array(1, 2, 3)), size(array()), size(cast(NULL as array<int>))

0 commit comments

Comments
 (0)