prakharjain09 commented on a change in pull request #30300:
URL: https://github.com/apache/spark/pull/30300#discussion_r521208639
##########
File path:
sql/core/src/main/scala/org/apache/spark/sql/execution/AliasAwareOutputExpression.scala
##########
@@ -48,13 +42,13 @@ trait AliasAwareOutputExpression extends UnaryExecNode {
*/
trait AliasAwareOutputPartitioning extends AliasAwareOutputExpression {
final override def outputPartitioning: Partitioning = {
- if (hasAlias) {
- child.outputPartitioning match {
- case h: HashPartitioning => h.copy(expressions =
replaceAliases(h.expressions))
- case other => other
- }
- } else {
- child.outputPartitioning
+ child.outputPartitioning match {
+ case e: Expression if hasAlias =>
+ val normalizedExp = e.transformDown {
Review comment:
renaming -> done.
yes transform is needed here as each Partitioning can be a tree in itself.
Example for INNER join, output partitioning is: PartitioningCollection with 2
HashPartitioning as childrens. Also in each HashPartitioning you can have
expressions like 2\*X, which might needs to be transformed to 2\*aliasedX.
----------------------------------------------------------------
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]