peter-toth commented on code in PR #56277:
URL: https://github.com/apache/spark/pull/56277#discussion_r3358493037
##########
sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/optimizer/Optimizer.scala:
##########
@@ -503,6 +505,13 @@ abstract class Optimizer(catalogManager: CatalogManager)
*/
def extendedOperatorOptimizationRules: Seq[Rule[LogicalPlan]] = Nil
+ /**
+ * Override to provide additional rules that run in a single pass before the
main
+ * operator optimization fixed-point batch. Use this for rules that must
observe the
+ * pre-optimization plan shape (e.g., before FoldablePropagation rewrites
predicates).
+ */
+ def earlyOperatorOptimizationRules: Seq[Rule[LogicalPlan]] = Nil
Review Comment:
`earlyScanPushDownRules` is "early" because there is a *later* scan-handling
phase (physical planning) — these are the V2 pushdown rules running early,
during optimization rather than at planning. The same kind of work happens
later, this is just the early form.
Shall we call this `preOperatorOptimizationRules` instead?
--
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.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]