peter-toth commented on code in PR #52584:
URL: https://github.com/apache/spark/pull/52584#discussion_r2426115383
##########
sql/core/src/main/scala/org/apache/spark/sql/execution/datasources/V1Writes.scala:
##########
@@ -97,12 +98,17 @@ object V1Writes extends Rule[LogicalPlan] {
assert(empty2NullPlan.output.length == query.output.length)
val attrMap = AttributeMap(query.output.zip(empty2NullPlan.output))
- // Rewrite the attribute references in the required ordering to use the
new output.
- val requiredOrdering = write.requiredOrdering.map(_.transform {
- case a: Attribute => attrMap.getOrElse(a, a)
- }.asInstanceOf[SortOrder])
- val outputOrdering = empty2NullPlan.outputOrdering
- val orderingMatched = isOrderingMatched(requiredOrdering.map(_.child),
outputOrdering)
+ // Rewrite the attribute references in the required ordering to use the
new output,
+ // then eliminate foldable ordering.
+ val requiredOrdering = {
+ val ordering = write.requiredOrdering.map(_.transform {
+ case a: Attribute => attrMap.getOrElse(a, a)
+ }.asInstanceOf[SortOrder])
+ eliminateFoldableOrdering(ordering, empty2NullPlan).outputOrdering
+ }
+ val outputOrdering = eliminateFoldableOrdering(
Review Comment:
Do we need to run `eliminateFoldableOrdering()` on both sides? I thought the
problem was that some orderings have been eliminated from actual ordering.
--
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]