From 64e26edbf289fa797f7005f9e8652c8160a7cdaf Mon Sep 17 00:00:00 2001 From: Andrew Lamb Date: Sun, 9 Jul 2023 10:38:43 -0400 Subject: [PATCH 1/3] Minor: Add FixedSizeBinaryTest --- .../tests/sqllogictests/test_files/binary.slt | 56 ++++++++++++++++++- 1 file changed, 55 insertions(+), 1 deletion(-) diff --git a/datafusion/core/tests/sqllogictests/test_files/binary.slt b/datafusion/core/tests/sqllogictests/test_files/binary.slt index 5738153a41ba..6aa749ec9be6 100644 --- a/datafusion/core/tests/sqllogictests/test_files/binary.slt +++ b/datafusion/core/tests/sqllogictests/test_files/binary.slt @@ -16,7 +16,7 @@ # under the License. ############# -## Tests for binary data types +## Tests for Binary ############# # Basic literals encoded as hex @@ -73,3 +73,57 @@ GROUP BY column1; 1 1 1 + +statement ok +drop table t; + +############# +## Tests for FixedSizeBinary +############# + +# fixed_size_binary +statement ok +CREATE TABLE t_source +AS VALUES + (X'000102', X'000102'), + (X'003102', X'000102'), + (NULL, X'000102'), + (X'FF0102', X'000102'), + (X'000102', X'000102') +; + +# Create a table with FixedSizeBinary +statement ok +CREATE TABLE t +AS SELECT + arrow_cast(column1, 'FixedSizeBinary(3)') as "column1", + arrow_cast(column2, 'FixedSizeBinary(3)') as "column2" +FROM t_source; + +query ?T +SELECT column1, arrow_typeof(column1) FROM t; +---- +000102 FixedSizeBinary(3) +003102 FixedSizeBinary(3) +NULL FixedSizeBinary(3) +ff0102 FixedSizeBinary(3) +000102 FixedSizeBinary(3) + +# Comparison +# https://github.com/apache/arrow-datafusion/pull/6891 +query error DataFusion error: Internal error: Data type FixedSizeBinary\(3, "0,1,2"\) not supported for scalar operation 'eq' on dyn array\. This was likely caused by a bug in DataFusion's code and we would welcome that you file an bug report in our issue tracker +SELECT + column1, + column2, + column1 = arrow_cast(X'000102', 'FixedSizeBinary(3)'), + column1 = column2 +FROM t + + +# Comparison to different sized field +query error DataFusion error: Error during planning: Cannot infer common argument type for comparison operation FixedSizeBinary\(3\) = FixedSizeBinary\(2\) +SELECT column1, column1 = arrow_cast(X'0102', 'FixedSizeBinary(2)') FROM t + +# Comparison to different sized Binary +query error DataFusion error: Error during planning: Cannot infer common argument type for comparison operation FixedSizeBinary\(3\) = Binary +SELECT column1, column1 = X'0102' FROM t From 7fb0d3f744527be3f04f6593231c4be47c3bc87a Mon Sep 17 00:00:00 2001 From: Andrew Lamb Date: Sun, 9 Jul 2023 18:56:53 -0400 Subject: [PATCH 2/3] Update --- datafusion/core/tests/sqllogictests/test_files/binary.slt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/datafusion/core/tests/sqllogictests/test_files/binary.slt b/datafusion/core/tests/sqllogictests/test_files/binary.slt index 6aa749ec9be6..14682b834cab 100644 --- a/datafusion/core/tests/sqllogictests/test_files/binary.slt +++ b/datafusion/core/tests/sqllogictests/test_files/binary.slt @@ -111,7 +111,7 @@ ff0102 FixedSizeBinary(3) # Comparison # https://github.com/apache/arrow-datafusion/pull/6891 -query error DataFusion error: Internal error: Data type FixedSizeBinary\(3, "0,1,2"\) not supported for scalar operation 'eq' on dyn array\. This was likely caused by a bug in DataFusion's code and we would welcome that you file an bug report in our issue tracker +query error DataFusion error: Arrow error: Compute error: eq_dyn_binary_scalar only supports Binary or LargeBinary arrays SELECT column1, column2, From 19e3f13c34e67cb1a52919bd18f177137d7d799e Mon Sep 17 00:00:00 2001 From: Andrew Lamb Date: Sun, 9 Jul 2023 19:05:09 -0400 Subject: [PATCH 3/3] update url --- datafusion/core/tests/sqllogictests/test_files/binary.slt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/datafusion/core/tests/sqllogictests/test_files/binary.slt b/datafusion/core/tests/sqllogictests/test_files/binary.slt index 14682b834cab..ca55ff56cb1c 100644 --- a/datafusion/core/tests/sqllogictests/test_files/binary.slt +++ b/datafusion/core/tests/sqllogictests/test_files/binary.slt @@ -110,7 +110,7 @@ ff0102 FixedSizeBinary(3) 000102 FixedSizeBinary(3) # Comparison -# https://github.com/apache/arrow-datafusion/pull/6891 +# https://github.com/apache/arrow-rs/pull/4492 query error DataFusion error: Arrow error: Compute error: eq_dyn_binary_scalar only supports Binary or LargeBinary arrays SELECT column1,