Github user cloud-fan commented on a diff in the pull request:

    https://github.com/apache/spark/pull/7957#discussion_r37049236
  
    --- Diff: 
sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/analysis/Analyzer.scala
 ---
    @@ -968,3 +961,61 @@ object EliminateSubQueries extends Rule[LogicalPlan] {
         case Subquery(_, child) => child
       }
     }
    +
    +/**
    + * Cleans up unnecessary Aliases inside the plan. Basically we only need 
Alias as a top level
    + * expression in Project(project list) or Aggregate(aggregate expressions) 
or
    + * Window(window expressions).
    + */
    +object CleanupAliases extends Rule[LogicalPlan] {
    --- End diff --
    
    I have opened https://github.com/apache/spark/pull/8159 to improve the 
`withColumn`, but left the code here to see if we can pass the tests.
    
    This PR did 2 things:
    
    1. use `Alias` instead of `UnresolvedAlias` when resolve nested column in 
`LogicalPlan.resolve`
    2. clean unnecessary aliases at the end of analysis
    
    If we only do `1`, some tests will fail as we need to trim aliases in the 
middle of getField chain. If we only do `2`, it can't fix any bugs. So I put 
them together here.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to