This is an automated email from the ASF dual-hosted git repository.

xudong963 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 5648201444 fix: Fix CI failing due to #16686 (#16718)
5648201444 is described below

commit 5648201444517b21f132dae68a23d97aa068ca20
Author: Jonathan Chen <[email protected]>
AuthorDate: Tue Jul 8 23:48:34 2025 -0400

    fix: Fix CI failing due to #16686 (#16718)
    
    * fix: Fix CI failing due to #16686
    
    * fix
    
    * add original comment
    
    * change
---
 datafusion/datasource/src/source.rs | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/datafusion/datasource/src/source.rs 
b/datafusion/datasource/src/source.rs
index 756b2b4791..92c2555638 100644
--- a/datafusion/datasource/src/source.rs
+++ b/datafusion/datasource/src/source.rs
@@ -30,6 +30,7 @@ use datafusion_physical_plan::projection::ProjectionExec;
 use datafusion_physical_plan::{
     DisplayAs, DisplayFormatType, ExecutionPlan, PlanProperties,
 };
+use itertools::Itertools;
 
 use crate::file_scan_config::FileScanConfig;
 use datafusion_common::config::ConfigOptions;
@@ -340,8 +341,17 @@ impl ExecutionPlan for DataSourceExec {
                 new_node.data_source = data_source;
                 new_node.cache =
                     
Self::compute_properties(Arc::clone(&new_node.data_source));
+
                 // Recompute equivalence info using new filters
-                let filter = conjunction(res.filters.collect_supported());
+                let filter = conjunction(
+                    res.filters
+                        .iter()
+                        .filter_map(|f| match f {
+                            PredicateSupport::Supported(expr) => 
Some(Arc::clone(expr)),
+                            PredicateSupport::Unsupported(_) => None,
+                        })
+                        .collect_vec(),
+                );
                 new_node = new_node.add_filter_equivalence_info(filter)?;
                 Ok(FilterPushdownPropagation {
                     filters: res.filters,


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

Reply via email to