You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@arrow.apache.org by al...@apache.org on 2021/07/13 17:26:28 UTC

[arrow-datafusion] branch master updated: replace once iter chain with array::IntoIter (#704)

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 <qp...@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<_>>();