You are viewing a plain text version of this content. The canonical link for it is here.
Posted to github@arrow.apache.org by GitBox <gi...@apache.org> on 2020/11/22 16:05:11 UTC

[GitHub] [arrow] andygrove commented on a change in pull request #8738: ARROW-10685: [Rust] [DataFusion] Added support for Join on filter-pushdown optimizer.

andygrove commented on a change in pull request #8738:
URL: https://github.com/apache/arrow/pull/8738#discussion_r528355857



##########
File path: rust/datafusion/src/optimizer/filter_push_down.rs
##########
@@ -54,116 +51,94 @@ is optimized to
     Projection: #a AS b
         Filter: #a Gt Int64(10)  <--- changed from #b to #a
 
-To perform such optimization, we first analyze the plan to identify three items:
-
-1. Where are the filters located in the plan
-2. Where are non-commutable operations' columns located in the plan (break_points)
-3. Where are projections located in the plan
-
-With this information, we re-write the plan by:
-
-1. Computing the maximum possible depth of each column between breakpoints
-2. Computing the maximum possible depth of each filter expression based on the columns it depends on
-3. re-write the filter expression for every projection that it commutes with from its original depth to its max possible depth
-4. recursively re-write the plan by deleting old filter expressions and adding new filter expressions on their max possible depth.
+This performs a single pass trought the plan. When it passes through a filter, it stores that filter,

Review comment:
       typo: "trought"




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org