Skip to content

Commit b65d2a3

Browse files
committed
fix: avoid '%' in path for external_access_plan.rs and remove temp file
1 parent 32acd9d commit b65d2a3

File tree

2 files changed

+37
-33
lines changed

2 files changed

+37
-33
lines changed

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,9 @@ datafusion/sqllogictests/test_files/tpch/data/*
6464
# Scratch temp dir for sqllogictests
6565
datafusion/sqllogictest/test_files/scratch*
6666

67+
# temp file for core
68+
datafusion/core/*.parquet
69+
6770
# rat
6871
filtered_rat.txt
6972
rat.txt

datafusion/core/tests/parquet/external_access_plan.rs

Lines changed: 34 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ use datafusion_physical_plan::ExecutionPlan;
3333
use parquet::arrow::arrow_reader::{RowSelection, RowSelector};
3434
use parquet::arrow::ArrowWriter;
3535
use parquet::file::properties::WriterProperties;
36+
use std::path::Path;
3637
use std::sync::{Arc, OnceLock};
3738
use tempfile::NamedTempFile;
3839

@@ -314,9 +315,9 @@ impl TestFull {
314315

315316
let TestData {
316317
_temp_file: _,
317-
schema,
318-
file_name,
319-
file_size,
318+
ref schema,
319+
ref file_name,
320+
ref file_size,
320321
} = get_test_data();
321322

322323
let new_file_name = if cfg!(target_os = "windows") {
@@ -362,6 +363,8 @@ impl TestFull {
362363
pretty_format_batches(&results).unwrap()
363364
);
364365

366+
std::fs::remove_file(file_name).unwrap();
367+
365368
Ok(MetricsFinder::find_metrics(plan.as_ref()).unwrap())
366369
}
367370
}
@@ -376,45 +379,43 @@ struct TestData {
376379
file_size: u64,
377380
}
378381

379-
static TEST_DATA: OnceLock<TestData> = OnceLock::new();
382+
static _TEST_DATA: OnceLock<TestData> = OnceLock::new();
380383

381384
/// Return a parquet file with 2 row groups each with 5 rows
382-
fn get_test_data() -> &'static TestData {
383-
TEST_DATA.get_or_init(|| {
384-
let scenario = Scenario::UTF8;
385-
let row_per_group = 5;
385+
fn get_test_data() -> TestData {
386+
let scenario = Scenario::UTF8;
387+
let row_per_group = 5;
386388

387-
let mut temp_file = tempfile::Builder::new()
388-
.prefix("user_access_plan")
389-
.suffix(".parquet")
390-
.tempfile()
391-
.expect("tempfile creation");
389+
let mut temp_file = tempfile::Builder::new()
390+
.prefix("user_access_plan")
391+
.suffix(".parquet")
392+
.tempfile_in(Path::new(""))
393+
.expect("tempfile creation");
392394

393-
let props = WriterProperties::builder()
394-
.set_max_row_group_size(row_per_group)
395-
.build();
395+
let props = WriterProperties::builder()
396+
.set_max_row_group_size(row_per_group)
397+
.build();
396398

397-
let batches = create_data_batch(scenario);
398-
let schema = batches[0].schema();
399+
let batches = create_data_batch(scenario);
400+
let schema = batches[0].schema();
399401

400-
let mut writer =
401-
ArrowWriter::try_new(&mut temp_file, schema.clone(), Some(props)).unwrap();
402+
let mut writer =
403+
ArrowWriter::try_new(&mut temp_file, schema.clone(), Some(props)).unwrap();
402404

403-
for batch in batches {
404-
writer.write(&batch).expect("writing batch");
405-
}
406-
writer.close().unwrap();
405+
for batch in batches {
406+
writer.write(&batch).expect("writing batch");
407+
}
408+
writer.close().unwrap();
407409

408-
let file_name = temp_file.path().to_string_lossy().to_string();
409-
let file_size = temp_file.path().metadata().unwrap().len();
410+
let file_name = temp_file.path().to_string_lossy().to_string();
411+
let file_size = temp_file.path().metadata().unwrap().len();
410412

411-
TestData {
412-
_temp_file: temp_file,
413-
schema,
414-
file_name,
415-
file_size,
416-
}
417-
})
413+
TestData {
414+
_temp_file: temp_file,
415+
schema,
416+
file_name,
417+
file_size,
418+
}
418419
}
419420

420421
/// Return the total value of the specified metric name

0 commit comments

Comments
 (0)