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]