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 937bb44fd0 Moving arrow_files SQL tests to sqllogictest (#8217)
937bb44fd0 is described below
commit 937bb44fd05307e368dddd8533f25b02709b20c0
Author: Edmondo Porcu <[email protected]>
AuthorDate: Wed Nov 15 13:28:49 2023 -0800
Moving arrow_files SQL tests to sqllogictest (#8217)
* Moving arrow_files SQL tests to sqllogictest
* Removed module
---
datafusion/core/tests/sql/arrow_files.rs | 70 ----------------------
datafusion/core/tests/sql/mod.rs | 1 -
datafusion/sqllogictest/test_files/arrow_files.slt | 44 ++++++++++++++
3 files changed, 44 insertions(+), 71 deletions(-)
diff --git a/datafusion/core/tests/sql/arrow_files.rs
b/datafusion/core/tests/sql/arrow_files.rs
deleted file mode 100644
index fc90fe3c34..0000000000
--- a/datafusion/core/tests/sql/arrow_files.rs
+++ /dev/null
@@ -1,70 +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 datafusion::execution::options::ArrowReadOptions;
-
-use super::*;
-
-async fn register_arrow(ctx: &mut SessionContext) {
- ctx.register_arrow(
- "arrow_simple",
- "tests/data/example.arrow",
- ArrowReadOptions::default(),
- )
- .await
- .unwrap();
-}
-
-#[tokio::test]
-async fn arrow_query() {
- let mut ctx = SessionContext::new();
- register_arrow(&mut ctx).await;
- let sql = "SELECT * FROM arrow_simple";
- let actual = execute_to_batches(&ctx, sql).await;
- let expected = [
- "+----+-----+-------+",
- "| f0 | f1 | f2 |",
- "+----+-----+-------+",
- "| 1 | foo | true |",
- "| 2 | bar | |",
- "| 3 | baz | false |",
- "| 4 | | true |",
- "+----+-----+-------+",
- ];
-
- assert_batches_eq!(expected, &actual);
-}
-
-#[tokio::test]
-async fn arrow_explain() {
- let mut ctx = SessionContext::new();
- register_arrow(&mut ctx).await;
- let sql = "EXPLAIN SELECT * FROM arrow_simple";
- let actual = execute(&ctx, sql).await;
- let actual = normalize_vec_for_explain(actual);
- let expected = vec![
- vec![
- "logical_plan",
- "TableScan: arrow_simple projection=[f0, f1, f2]",
- ],
- vec![
- "physical_plan",
- "ArrowExec: file_groups={1 group:
[[WORKING_DIR/tests/data/example.arrow]]}, projection=[f0, f1, f2]\n",
- ],
- ];
-
- assert_eq!(expected, actual);
-}
diff --git a/datafusion/core/tests/sql/mod.rs b/datafusion/core/tests/sql/mod.rs
index d44513e69a..4bd42c4688 100644
--- a/datafusion/core/tests/sql/mod.rs
+++ b/datafusion/core/tests/sql/mod.rs
@@ -73,7 +73,6 @@ macro_rules! test_expression {
}
pub mod aggregates;
-pub mod arrow_files;
pub mod create_drop;
pub mod csv_files;
pub mod describe;
diff --git a/datafusion/sqllogictest/test_files/arrow_files.slt
b/datafusion/sqllogictest/test_files/arrow_files.slt
new file mode 100644
index 0000000000..5c1b6fb726
--- /dev/null
+++ b/datafusion/sqllogictest/test_files/arrow_files.slt
@@ -0,0 +1,44 @@
+# 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.
+
+#############
+## Arrow Files Format support
+#############
+
+
+statement ok
+
+CREATE EXTERNAL TABLE arrow_simple
+STORED AS ARROW
+LOCATION '../core/tests/data/example.arrow';
+
+
+# physical plan
+query TT
+EXPLAIN SELECT * FROM arrow_simple
+----
+logical_plan TableScan: arrow_simple projection=[f0, f1, f2]
+physical_plan ArrowExec: file_groups={1 group:
[[WORKSPACE_ROOT/datafusion/core/tests/data/example.arrow]]}, projection=[f0,
f1, f2]
+
+# correct content
+query ITB
+SELECT * FROM arrow_simple
+----
+1 foo true
+2 bar NULL
+3 baz false
+4 NULL true