vvysotskyi commented on a change in pull request #1914: DRILL-7458: Base
framework for storage plugins
URL: https://github.com/apache/drill/pull/1914#discussion_r369095160
##########
File path:
exec/java-exec/src/main/java/org/apache/drill/exec/planner/PlannerPhase.java
##########
@@ -238,22 +251,41 @@ public RuleSet getRules(OptimizerRulesContext context,
Collection<StoragePlugin>
this.description = description;
}
+ /**
+ * Filter push-down is best done during logical planning so that the result
can
+ * influence parallelization in the physical phase. The specific phase
differs
+ * depending on which planning mode is enabled. This check hides those
details
+ * from storage plugins that simply want to know "should I add my filter
+ * push-down rules in the given phase?"
+ *
+ * @return true if filter push-down rules should be applied in this phase
+ */
+ public boolean isFilterPushDownPhase() {
Review comment:
I disagree with limiting the possibility of pushdown to several phases. In
some cases, there may be additional rel nodes between filter and scan, so
pushdown cannot happen, but in other planning stages, these rel nodes may be
switched with filter, or filter may be extracted from join condition, etc. so
pushdown may happen only at a specific phase, but not at the phase we want.
----------------------------------------------------------------
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:
[email protected]
With regards,
Apache Git Services