This is an automated email from the ASF dual-hosted git repository.

alamb pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/arrow-datafusion.git


The following commit(s) were added to refs/heads/main by this push:
     new 2a5ef432a minor: port intersection sql tests to sqllogictests (#5331)
2a5ef432a is described below

commit 2a5ef432aef45793b60c2847552d6d597589d67d
Author: Andrew Lamb <[email protected]>
AuthorDate: Tue Feb 21 13:37:47 2023 +0100

    minor: port intersection sql tests to sqllogictests (#5331)
---
 datafusion/core/tests/sql/intersection.rs          | 87 ----------------------
 datafusion/core/tests/sql/mod.rs                   |  1 -
 .../sqllogictests/test_files/intersection.slt      | 45 +++++++++++
 3 files changed, 45 insertions(+), 88 deletions(-)

diff --git a/datafusion/core/tests/sql/intersection.rs 
b/datafusion/core/tests/sql/intersection.rs
deleted file mode 100644
index 607048477..000000000
--- a/datafusion/core/tests/sql/intersection.rs
+++ /dev/null
@@ -1,87 +0,0 @@
-// Licensed to the Apache Software Foundation (ASF) under one
-// or more contributor license agreements.  See the NOTICE file
-// distributed with this work for additional information
-// regarding copyright ownership.  The ASF licenses this file
-// to you under the Apache License, Version 2.0 (the
-// "License"); you may not use this file except in compliance
-// with the License.  You may obtain a copy of the License at
-//
-//   http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing,
-// software distributed under the License is distributed on an
-// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-// KIND, either express or implied.  See the License for the
-// specific language governing permissions and limitations
-// under the License.
-
-use super::*;
-
-#[tokio::test]
-async fn intersect_with_null_not_equal() {
-    let sql = "SELECT * FROM (SELECT null AS id1, 1 AS id2) t1
-            INTERSECT SELECT * FROM (SELECT null AS id1, 2 AS id2) t2";
-
-    let expected = vec!["++", "++"];
-    let ctx = create_join_context_qualified("t1", "t2").unwrap();
-    let actual = execute_to_batches(&ctx, sql).await;
-    assert_batches_eq!(expected, &actual);
-}
-
-#[tokio::test]
-async fn intersect_with_null_equal() {
-    let sql = "SELECT * FROM (SELECT null AS id1, 1 AS id2) t1
-            INTERSECT SELECT * FROM (SELECT null AS id1, 1 AS id2) t2";
-
-    let expected = vec![
-        "+-----+-----+",
-        "| id1 | id2 |",
-        "+-----+-----+",
-        "|     | 1   |",
-        "+-----+-----+",
-    ];
-
-    let ctx = create_join_context_qualified("t1", "t2").unwrap();
-    let actual = execute_to_batches(&ctx, sql).await;
-
-    assert_batches_eq!(expected, &actual);
-}
-
-#[tokio::test]
-async fn test_intersect_all() -> Result<()> {
-    let ctx = SessionContext::new();
-    register_alltypes_parquet(&ctx).await;
-    // execute the query
-    let sql = "SELECT int_col, double_col FROM alltypes_plain where int_col > 
0 INTERSECT ALL SELECT int_col, double_col FROM alltypes_plain LIMIT 4";
-    let actual = execute_to_batches(&ctx, sql).await;
-    let expected = vec![
-        "+---------+------------+",
-        "| int_col | double_col |",
-        "+---------+------------+",
-        "| 1       | 10.1       |",
-        "| 1       | 10.1       |",
-        "| 1       | 10.1       |",
-        "| 1       | 10.1       |",
-        "+---------+------------+",
-    ];
-    assert_batches_eq!(expected, &actual);
-    Ok(())
-}
-
-#[tokio::test]
-async fn test_intersect_distinct() -> Result<()> {
-    let ctx = SessionContext::new();
-    register_alltypes_parquet(&ctx).await;
-    // execute the query
-    let sql = "SELECT int_col, double_col FROM alltypes_plain where int_col > 
0 INTERSECT SELECT int_col, double_col FROM alltypes_plain";
-    let actual = execute_to_batches(&ctx, sql).await;
-    let expected = vec![
-        "+---------+------------+",
-        "| int_col | double_col |",
-        "+---------+------------+",
-        "| 1       | 10.1       |",
-        "+---------+------------+",
-    ];
-    assert_batches_eq!(expected, &actual);
-    Ok(())
-}
diff --git a/datafusion/core/tests/sql/mod.rs b/datafusion/core/tests/sql/mod.rs
index 4b3c60d7e..48fd890a3 100644
--- a/datafusion/core/tests/sql/mod.rs
+++ b/datafusion/core/tests/sql/mod.rs
@@ -87,7 +87,6 @@ pub mod explain_analyze;
 pub mod expr;
 pub mod functions;
 pub mod group_by;
-pub mod intersection;
 pub mod joins;
 pub mod json;
 pub mod limit;
diff --git a/datafusion/core/tests/sqllogictests/test_files/intersection.slt 
b/datafusion/core/tests/sqllogictests/test_files/intersection.slt
new file mode 100644
index 000000000..31121a333
--- /dev/null
+++ b/datafusion/core/tests/sqllogictests/test_files/intersection.slt
@@ -0,0 +1,45 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+
+#   http://www.apache.org/licenses/LICENSE-2.0
+
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+statement ok
+CREATE EXTERNAL TABLE alltypes_plain STORED AS PARQUET LOCATION 
'../../parquet-testing/data/alltypes_plain.parquet';
+
+query ?I
+SELECT * FROM (SELECT null AS id1, 1 AS id2) t1
+            INTERSECT SELECT * FROM (SELECT null AS id1, 2 AS id2) t2
+----
+
+
+query ?I
+SELECT * FROM (SELECT null AS id1, 1 AS id2) t1
+            INTERSECT SELECT * FROM (SELECT null AS id1, 1 AS id2) t2
+----
+NULL 1
+
+
+query IR
+SELECT int_col, double_col FROM alltypes_plain where int_col > 0 INTERSECT ALL 
SELECT int_col, double_col FROM alltypes_plain LIMIT 4
+----
+1 10.1
+1 10.1
+1 10.1
+1 10.1
+
+query IR
+SELECT int_col, double_col FROM alltypes_plain where int_col > 0 INTERSECT 
SELECT int_col, double_col FROM alltypes_plain
+----
+1 10.1

Reply via email to