tanelk commented on a change in pull request #29092:
URL: https://github.com/apache/spark/pull/29092#discussion_r500382697
##########
File path:
sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/optimizer/Optimizer.scala
##########
@@ -1847,3 +1848,25 @@ object OptimizeLimitZero extends Rule[LogicalPlan] {
empty(ll)
}
}
+
+/**
+ * Generates filters for exploded expression, such that rows that would have
been removed
+ * by this [[Generate]] can be removed earlier - before joins and in data
sources.
+ */
+object InferFiltersFromGenerate extends Rule[LogicalPlan] {
+ def apply(plan: LogicalPlan): LogicalPlan = plan transformUp {
+ case g @ Generate(e: ExplodeBase, _, false, _, _, child)
Review comment:
Added `Inline` and also checked other `Generate`-s, but it seems that
this rule is not applicable to others.
----------------------------------------------------------------
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]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]