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/datafusion.git


The following commit(s) were added to refs/heads/main by this push:
     new 948949eee5 test: support run filter_pushdown on windows machine 
(#13610)
948949eee5 is described below

commit 948949eee5e0183ceeadb228b8cc64a5541726fb
Author: zhuliquan <[email protected]>
AuthorDate: Thu Dec 5 11:58:19 2024 +0800

    test: support run filter_pushdown on windows machine (#13610)
    
    * test: support run filter_pushdown on windows
    
    * minor: remove useless comment for filter_pushdown
---
 datafusion/core/src/test_util/parquet.rs         | 12 +++++++++++-
 datafusion/core/tests/parquet/filter_pushdown.rs |  6 ++++--
 datafusion/core/tests/parquet/mod.rs             |  1 -
 3 files changed, 15 insertions(+), 4 deletions(-)

diff --git a/datafusion/core/src/test_util/parquet.rs 
b/datafusion/core/src/test_util/parquet.rs
index fc6b4ad9d0..685ed14777 100644
--- a/datafusion/core/src/test_util/parquet.rs
+++ b/datafusion/core/src/test_util/parquet.rs
@@ -103,7 +103,17 @@ impl TestParquetFile {
 
         let size = std::fs::metadata(&path)?.len() as usize;
 
-        let canonical_path = path.canonicalize()?;
+        let mut canonical_path = path.canonicalize()?;
+
+        if cfg!(target_os = "windows") {
+            canonical_path = canonical_path
+                .to_str()
+                .unwrap()
+                .replace("\\", "/")
+                .strip_prefix("//?/")
+                .unwrap()
+                .into();
+        };
 
         let object_store_url =
             
ListingTableUrl::parse(canonical_path.to_str().unwrap_or_default())?
diff --git a/datafusion/core/tests/parquet/filter_pushdown.rs 
b/datafusion/core/tests/parquet/filter_pushdown.rs
index 8def192f93..02fb597404 100644
--- a/datafusion/core/tests/parquet/filter_pushdown.rs
+++ b/datafusion/core/tests/parquet/filter_pushdown.rs
@@ -26,6 +26,8 @@
 //! select * from data limit 10;
 //! ```
 
+use std::path::Path;
+
 use arrow::compute::concat_batches;
 use arrow::record_batch::RecordBatch;
 use datafusion::physical_plan::collect;
@@ -67,7 +69,7 @@ fn generate_file(tempdir: &TempDir, props: WriterProperties) 
-> TestParquetFile
 async fn single_file() {
     // Only create the parquet file once as it is fairly large
 
-    let tempdir = TempDir::new().unwrap();
+    let tempdir = TempDir::new_in(Path::new(".")).unwrap();
     // Set row group size smaller so can test with fewer rows
     let props = WriterProperties::builder()
         .set_max_row_group_size(1024)
@@ -223,7 +225,7 @@ async fn single_file() {
 
 #[tokio::test]
 async fn single_file_small_data_pages() {
-    let tempdir = TempDir::new().unwrap();
+    let tempdir = TempDir::new_in(Path::new(".")).unwrap();
 
     // Set low row count limit to improve page filtering
     let props = WriterProperties::builder()
diff --git a/datafusion/core/tests/parquet/mod.rs 
b/datafusion/core/tests/parquet/mod.rs
index 3f68222a2c..46be243311 100644
--- a/datafusion/core/tests/parquet/mod.rs
+++ b/datafusion/core/tests/parquet/mod.rs
@@ -45,7 +45,6 @@ use tempfile::NamedTempFile;
 mod custom_reader;
 mod external_access_plan;
 mod file_statistics;
-#[cfg(not(target_family = "windows"))]
 mod filter_pushdown;
 mod page_pruning;
 mod row_group_pruning;


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to