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

jakevin 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 39ad9e82e1 Port tests in wildcard.rs to sqllogictest (#6249)
39ad9e82e1 is described below

commit 39ad9e82e1c038ea8723bc80154a991fd450ab04
Author: masanobbb <[email protected]>
AuthorDate: Fri May 5 23:17:56 2023 +0900

    Port tests in wildcard.rs to sqllogictest (#6249)
    
    Co-authored-by: Andrew Lamb <[email protected]>
---
 datafusion/core/tests/sql/mod.rs                   |   1 -
 datafusion/core/tests/sql/wildcard.rs              | 143 ---------------------
 .../tests/sqllogictests/test_files/wildcard.slt    | 122 ++++++++++++++++++
 3 files changed, 122 insertions(+), 144 deletions(-)

diff --git a/datafusion/core/tests/sql/mod.rs b/datafusion/core/tests/sql/mod.rs
index 6729e6215b..cbccf333b3 100644
--- a/datafusion/core/tests/sql/mod.rs
+++ b/datafusion/core/tests/sql/mod.rs
@@ -98,7 +98,6 @@ pub mod references;
 pub mod select;
 pub mod timestamp;
 pub mod udf;
-pub mod wildcard;
 pub mod window;
 
 pub mod explain;
diff --git a/datafusion/core/tests/sql/wildcard.rs 
b/datafusion/core/tests/sql/wildcard.rs
deleted file mode 100644
index 8cecfd829e..0000000000
--- a/datafusion/core/tests/sql/wildcard.rs
+++ /dev/null
@@ -1,143 +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 select_qualified_wildcard() -> Result<()> {
-    let ctx = SessionContext::new();
-    register_aggregate_simple_csv(&ctx).await?;
-
-    let sql = "SELECT agg.* FROM aggregate_simple as agg order by c1";
-    let results = execute_to_batches(&ctx, sql).await;
-
-    let expected = vec![
-        "+---------+---------+-------+",
-        "| c1      | c2      | c3    |",
-        "+---------+---------+-------+",
-        "| 0.00001 | 1.0e-12 | true  |",
-        "| 0.00002 | 2.0e-12 | false |",
-        "| 0.00002 | 2.0e-12 | false |",
-        "| 0.00003 | 3.0e-12 | true  |",
-        "| 0.00003 | 3.0e-12 | true  |",
-        "| 0.00003 | 3.0e-12 | true  |",
-        "| 0.00004 | 4.0e-12 | false |",
-        "| 0.00004 | 4.0e-12 | false |",
-        "| 0.00004 | 4.0e-12 | false |",
-        "| 0.00004 | 4.0e-12 | false |",
-        "| 0.00005 | 5.0e-12 | true  |",
-        "| 0.00005 | 5.0e-12 | true  |",
-        "| 0.00005 | 5.0e-12 | true  |",
-        "| 0.00005 | 5.0e-12 | true  |",
-        "| 0.00005 | 5.0e-12 | true  |",
-        "+---------+---------+-------+",
-    ];
-
-    assert_batches_eq!(expected, &results);
-
-    Ok(())
-}
-
-#[tokio::test]
-async fn select_non_alias_qualified_wildcard() -> Result<()> {
-    let ctx = SessionContext::new();
-    register_aggregate_simple_csv(&ctx).await?;
-
-    let sql = "SELECT aggregate_simple.* FROM aggregate_simple order by c1";
-    let results = execute_to_batches(&ctx, sql).await;
-
-    let expected = vec![
-        "+---------+---------+-------+",
-        "| c1      | c2      | c3    |",
-        "+---------+---------+-------+",
-        "| 0.00001 | 1.0e-12 | true  |",
-        "| 0.00002 | 2.0e-12 | false |",
-        "| 0.00002 | 2.0e-12 | false |",
-        "| 0.00003 | 3.0e-12 | true  |",
-        "| 0.00003 | 3.0e-12 | true  |",
-        "| 0.00003 | 3.0e-12 | true  |",
-        "| 0.00004 | 4.0e-12 | false |",
-        "| 0.00004 | 4.0e-12 | false |",
-        "| 0.00004 | 4.0e-12 | false |",
-        "| 0.00004 | 4.0e-12 | false |",
-        "| 0.00005 | 5.0e-12 | true  |",
-        "| 0.00005 | 5.0e-12 | true  |",
-        "| 0.00005 | 5.0e-12 | true  |",
-        "| 0.00005 | 5.0e-12 | true  |",
-        "| 0.00005 | 5.0e-12 | true  |",
-        "+---------+---------+-------+",
-    ];
-
-    assert_batches_eq!(expected, &results);
-
-    Ok(())
-}
-
-#[tokio::test]
-async fn select_qualified_wildcard_join() -> Result<()> {
-    let ctx = create_join_context("t1_id", "t2_id", true)?;
-    let sql =
-        "SELECT tb1.*, tb2.* FROM t1 tb1 JOIN t2 tb2 ON t2_id = t1_id ORDER BY 
t1_id";
-    let expected = vec![
-        "+-------+---------+--------+-------+---------+--------+",
-        "| t1_id | t1_name | t1_int | t2_id | t2_name | t2_int |",
-        "+-------+---------+--------+-------+---------+--------+",
-        "| 11    | a       | 1      | 11    | z       | 3      |",
-        "| 22    | b       | 2      | 22    | y       | 1      |",
-        "| 44    | d       | 4      | 44    | x       | 3      |",
-        "+-------+---------+--------+-------+---------+--------+",
-    ];
-
-    let results = execute_to_batches(&ctx, sql).await;
-
-    assert_batches_eq!(expected, &results);
-
-    Ok(())
-}
-
-#[tokio::test]
-async fn select_non_alias_qualified_wildcard_join() -> Result<()> {
-    let ctx = create_join_context("t1_id", "t2_id", true)?;
-    let sql = "SELECT t1.*, tb2.* FROM t1 JOIN t2 tb2 ON t2_id = t1_id ORDER 
BY t1_id";
-    let expected = vec![
-        "+-------+---------+--------+-------+---------+--------+",
-        "| t1_id | t1_name | t1_int | t2_id | t2_name | t2_int |",
-        "+-------+---------+--------+-------+---------+--------+",
-        "| 11    | a       | 1      | 11    | z       | 3      |",
-        "| 22    | b       | 2      | 22    | y       | 1      |",
-        "| 44    | d       | 4      | 44    | x       | 3      |",
-        "+-------+---------+--------+-------+---------+--------+",
-    ];
-
-    let results = execute_to_batches(&ctx, sql).await;
-
-    assert_batches_eq!(expected, &results);
-
-    Ok(())
-}
-
-#[tokio::test]
-async fn select_wrong_qualified_wildcard() -> Result<()> {
-    let ctx = SessionContext::new();
-    register_aggregate_simple_csv(&ctx).await?;
-
-    let sql = "SELECT agg.* FROM aggregate_simple order by c1";
-    let err = ctx.sql(sql).await.unwrap_err().to_string();
-    assert_eq!(err, "Error during planning: Invalid qualifier agg");
-
-    Ok(())
-}
diff --git a/datafusion/core/tests/sqllogictests/test_files/wildcard.slt 
b/datafusion/core/tests/sqllogictests/test_files/wildcard.slt
new file mode 100644
index 0000000000..cc43ff4376
--- /dev/null
+++ b/datafusion/core/tests/sqllogictests/test_files/wildcard.slt
@@ -0,0 +1,122 @@
+# 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.
+
+
+# create t1 table
+statement ok
+CREATE TABLE t1(t1_id INT, t1_name TEXT, t1_int INT) AS VALUES
+(11, 'a', 1),
+(22, 'b', 2),
+(33, 'c', 3),
+(44, 'd', 4);
+
+# create t2 table
+statement ok
+CREATE TABLE t2(t2_id INT, t2_name TEXT, t2_int INT) AS VALUES
+(11, 'z', 3),
+(22, 'y', 1),
+(44, 'x', 3),
+(55, 'w', 3);
+
+# create aggregate_simple table
+statement ok
+CREATE EXTERNAL TABLE aggregate_simple (
+  c1  REAL NOT NULL,
+  c2  DOUBLE NOT NULL,
+  c3  BOOLEAN NOT NULL,
+)
+STORED AS CSV
+WITH HEADER ROW
+LOCATION 'tests/data/aggregate_simple.csv'
+
+
+##########
+## Wildcard Tests
+##########
+
+# select_qualified_wildcard
+query RRB nosort
+SELECT agg.* FROM aggregate_simple as agg ORDER BY c1
+----
+0.00001 0.000000000001 true
+0.00002 0.000000000002 false
+0.00002 0.000000000002 false
+0.00003 0.000000000003 true
+0.00003 0.000000000003 true
+0.00003 0.000000000003 true
+0.00004 0.000000000004 false
+0.00004 0.000000000004 false
+0.00004 0.000000000004 false
+0.00004 0.000000000004 false
+0.00005 0.000000000005 true
+0.00005 0.000000000005 true
+0.00005 0.000000000005 true
+0.00005 0.000000000005 true
+0.00005 0.000000000005 true
+
+# select_non_alias_qualified_wildcard
+query RRB nosort
+SELECT aggregate_simple.* FROM aggregate_simple ORDER BY c1
+----
+0.00001 0.000000000001 true
+0.00002 0.000000000002 false
+0.00002 0.000000000002 false
+0.00003 0.000000000003 true
+0.00003 0.000000000003 true
+0.00003 0.000000000003 true
+0.00004 0.000000000004 false
+0.00004 0.000000000004 false
+0.00004 0.000000000004 false
+0.00004 0.000000000004 false
+0.00005 0.000000000005 true
+0.00005 0.000000000005 true
+0.00005 0.000000000005 true
+0.00005 0.000000000005 true
+0.00005 0.000000000005 true
+
+# select_qualified_wildcard_join
+query ITIITI nosort
+SELECT tb1.*, tb2.* FROM t1 tb1 JOIN t2 tb2 ON t2_id = t1_id ORDER BY t1_id
+----
+11 a 1 11 z 3
+22 b 2 22 y 1
+44 d 4 44 x 3
+
+# select_non_alias_qualified_wildcard_join
+query ITIITI nosort
+SELECT t1.*, tb2.* FROM t1 JOIN t2 tb2 ON t2_id = t1_id ORDER BY t1_id
+----
+11 a 1 11 z 3
+22 b 2 22 y 1
+44 d 4 44 x 3
+
+# select_wrong_qualified_wildcard
+statement error Error during planning: Invalid qualifier agg
+SELECT agg.* FROM aggregate_simple ORDER BY c1
+
+########
+# Clean up after the test
+########
+
+statement ok
+DROP TABLE t1;
+
+statement ok
+DROP TABLE t2;
+
+statement ok
+DROP TABLE aggregate_simple;

Reply via email to