diff --git a/datafusion-testing b/datafusion-testing index f72ac4075ada5..e9f9e22ccf091 160000 --- a/datafusion-testing +++ b/datafusion-testing @@ -1 +1 @@ -Subproject commit f72ac4075ada5ea9810551bc0c3e3161c61204a2 +Subproject commit e9f9e22ccf09145a7368f80fd6a871f11e2b4481 diff --git a/datafusion/physical-plan/src/coalesce_partitions.rs b/datafusion/physical-plan/src/coalesce_partitions.rs index 685e751832eb4..21f0d61a81eb7 100644 --- a/datafusion/physical-plan/src/coalesce_partitions.rs +++ b/datafusion/physical-plan/src/coalesce_partitions.rs @@ -28,11 +28,14 @@ use super::{ Statistics, }; use crate::execution_plan::{CardinalityEffect, EvaluationType, SchedulingType}; +use crate::filter_pushdown::{FilterDescription, FilterPushdownPhase}; use crate::projection::{make_with_child, ProjectionExec}; use crate::{DisplayFormatType, ExecutionPlan, Partitioning}; +use datafusion_common::config::ConfigOptions; use datafusion_common::{internal_err, Result}; use datafusion_execution::TaskContext; +use datafusion_physical_expr::PhysicalExpr; /// Merge execution plan executes partitions in parallel and combines them into a single /// partition. No guarantees are made about the order of the resulting partition. @@ -270,6 +273,15 @@ impl ExecutionPlan for CoalescePartitionsExec { cache: self.cache.clone(), })) } + + fn gather_filters_for_pushdown( + &self, + _phase: FilterPushdownPhase, + parent_filters: Vec>, + _config: &ConfigOptions, + ) -> Result { + FilterDescription::from_children(parent_filters, &self.children()) + } } #[cfg(test)]