[SPARK-53773][SQL] Recover alphabetic ordering of rules in RuleIdCollection
#52495
+20
−20
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What changes were proposed in this pull request?
This PR aims to recover alphabetic ordering of rules in
RuleIdCollection
class for Apache Spark 4.1.0.Why are the changes needed?
Since
rulesNeedingIds
was originally defined to be in an alphabetic order like the following, we had better recover the ordering according to the original intention.spark/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/rules/RuleIdCollection.scala
Lines 43 to 44 in e04fd59
Currently, (1) it has several outliers in terms of ordering and (2) the ordering is mixed with full class name and simple class name. For instance,
AnsiCombinedTypeCoercionRule
should be placed at the second if we consider simple class name. This PR makes it consistent via full name to fix the inconsistency including the following.spark/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/rules/RuleIdCollection.scala
Lines 57 to 59 in e04fd59
spark/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/rules/RuleIdCollection.scala
Lines 111 to 116 in e04fd59
spark/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/rules/RuleIdCollection.scala
Lines 181 to 182 in e04fd59
spark/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/rules/RuleIdCollection.scala
Line 83 in e04fd59
Does this PR introduce any user-facing change?
No behavior change.
How was this patch tested?
Pass the CIs.
Was this patch authored or co-authored using generative AI tooling?
No.