Github user amansinha100 commented on a diff in the pull request:
https://github.com/apache/drill/pull/1226#discussion_r183091126
--- Diff:
exec/java-exec/src/main/java/org/apache/drill/exec/planner/PlannerPhase.java ---
@@ -178,6 +178,12 @@ public RuleSet getRules(OptimizerRulesContext context,
Collection<StoragePlugin>
PlannerPhase.getPhysicalRules(context),
getStorageRules(context, plugins, this));
}
+ },
+
+ PRE_LOGICAL_PLANNING("Planning with Hep planner only for rules, which
are failed for Volcano planner") {
--- End diff --
I thought about whether a separate group of rules is needed instead of
adding it to existing group of HEP rules. But I suppose it is ok to create the
separate group with the expectation that once Calcite-1271 is fixed for Volcano
planner, we have the option to remove this group. Thinking more about
this..filter pushdown past a union-all is cost-safe since union-all output rows
is equal or greater than input rows. (it is not cost-safe for pushdown past
union-distinct).
---