This is an automated email from the ASF dual-hosted git repository. alamb pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/arrow-datafusion.git
The following commit(s) were added to refs/heads/master by this push: new fd50dd8 replace once iter chain with array::IntoIter (#704) fd50dd8 is described below commit fd50dd808213e219559ccd142bcb88f2194ff4a5 Author: QP Hou <q...@scribd.com> AuthorDate: Tue Jul 13 10:26:20 2021 -0700 replace once iter chain with array::IntoIter (#704) * replace once iter chain with array::IntoIter * use new array IntoIter implementation from rust 1.53 --- datafusion/src/logical_plan/plan.rs | 8 +++----- datafusion/src/optimizer/filter_push_down.rs | 13 +++++++++---- 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/datafusion/src/logical_plan/plan.rs b/datafusion/src/logical_plan/plan.rs index 2504dfa..4749840 100644 --- a/datafusion/src/logical_plan/plan.rs +++ b/datafusion/src/logical_plan/plan.rs @@ -375,12 +375,10 @@ impl LogicalPlan { { self.using_columns.push( on.iter() - .map(|entry| { - std::iter::once(entry.0.clone()) - .chain(std::iter::once(entry.1.clone())) - }) + .map(|entry| [&entry.0, &entry.1]) .flatten() - .collect::<HashSet<_>>(), + .cloned() + .collect::<HashSet<Column>>(), ); } Ok(true) diff --git a/datafusion/src/optimizer/filter_push_down.rs b/datafusion/src/optimizer/filter_push_down.rs index 76d8c05..399923e 100644 --- a/datafusion/src/optimizer/filter_push_down.rs +++ b/datafusion/src/optimizer/filter_push_down.rs @@ -97,9 +97,11 @@ fn get_join_predicates<'a>( .fields() .iter() .map(|f| { - std::iter::once(f.qualified_column()) + [ + f.qualified_column(), // we need to push down filter using unqualified column as well - .chain(std::iter::once(f.unqualified_column())) + f.unqualified_column(), + ] }) .flatten() .collect::<HashSet<_>>(); @@ -107,8 +109,11 @@ fn get_join_predicates<'a>( .fields() .iter() .map(|f| { - std::iter::once(f.qualified_column()) - .chain(std::iter::once(f.unqualified_column())) + [ + f.qualified_column(), + // we need to push down filter using unqualified column as well + f.unqualified_column(), + ] }) .flatten() .collect::<HashSet<_>>();