@@ -28,11 +28,14 @@ use super::{
2828 Statistics ,
2929} ;
3030use crate :: execution_plan:: { CardinalityEffect , EvaluationType , SchedulingType } ;
31+ use crate :: filter_pushdown:: { FilterDescription , FilterPushdownPhase } ;
3132use crate :: projection:: { make_with_child, ProjectionExec } ;
3233use crate :: { DisplayFormatType , ExecutionPlan , Partitioning } ;
3334
35+ use datafusion_common:: config:: ConfigOptions ;
3436use datafusion_common:: { internal_err, Result } ;
3537use datafusion_execution:: TaskContext ;
38+ use datafusion_physical_expr:: PhysicalExpr ;
3639
3740/// Merge execution plan executes partitions in parallel and combines them into a single
3841/// partition. No guarantees are made about the order of the resulting partition.
@@ -270,6 +273,15 @@ impl ExecutionPlan for CoalescePartitionsExec {
270273 cache : self . cache . clone ( ) ,
271274 } ) )
272275 }
276+
277+ fn gather_filters_for_pushdown (
278+ & self ,
279+ _phase : FilterPushdownPhase ,
280+ parent_filters : Vec < Arc < dyn PhysicalExpr > > ,
281+ _config : & ConfigOptions ,
282+ ) -> Result < FilterDescription > {
283+ FilterDescription :: from_children ( parent_filters, & self . children ( ) )
284+ }
273285}
274286
275287#[ cfg( test) ]
0 commit comments