Skip to content

Commit c9e2f2e

Browse files
committed
Fix some issue
Signed-off-by: Adam Gutglick <[email protected]>
1 parent b201678 commit c9e2f2e

File tree

2 files changed

+10
-5
lines changed

2 files changed

+10
-5
lines changed

vortex-datafusion/src/persistent/mod.rs

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ fn register_vortex_format_factory(
3232

3333
#[cfg(test)]
3434
mod tests {
35+
3536
use std::sync::Arc;
3637

3738
use arrow_schema::{DataType, Field, Schema};
@@ -202,7 +203,6 @@ mod tests {
202203
register_vortex_format_factory(factory, &mut session_state_builder);
203204
let session = SessionContext::new_with_state(session_state_builder.build());
204205

205-
// Vortex
206206
session
207207
.sql(&format!(
208208
"CREATE EXTERNAL TABLE my_tbl_vx \
@@ -238,8 +238,6 @@ mod tests {
238238
let (state, plan) = df.clone().into_parts();
239239
let physical_plan = state.create_physical_plan(&plan).await?;
240240

241-
dbg!(physical_plan.as_ref());
242-
243241
insta::assert_snapshot!(DisplayableExecutionPlan::new(physical_plan.as_ref())
244242
.tree_render().to_string(), @r"
245243
┌───────────────────────────┐
@@ -251,9 +249,8 @@ mod tests {
251249
┌─────────────┴─────────────┐
252250
│ DataSourceExec │
253251
│ -------------------- │
254-
│ files: 14
252+
files: 3
255253
│ format: vortex │
256-
│ predicate: true │
257254
└───────────────────────────┘
258255
");
259256

vortex-datafusion/src/persistent/source.rs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -224,6 +224,14 @@ impl FileSource for VortexSource {
224224
filters: Vec<Arc<dyn PhysicalExpr>>,
225225
_config: &ConfigOptions,
226226
) -> DFResult<FilterPushdownPropagation<Arc<dyn FileSource>>> {
227+
// I'm not sure why, but this is important as it doesn't return the node to the parent
228+
// which triggers a very wasteful repartition for some reason.
229+
if filters.is_empty() {
230+
return Ok(FilterPushdownPropagation::with_parent_pushdown_result(
231+
vec![],
232+
));
233+
}
234+
227235
let Some(schema) = self.arrow_file_schema.as_ref() else {
228236
return Ok(FilterPushdownPropagation::with_parent_pushdown_result(
229237
vec![PushedDown::No; filters.len()],

0 commit comments

Comments
 (0)