Github user skambha commented on a diff in the pull request:

    https://github.com/apache/spark/pull/17185#discussion_r206985225
  
    --- Diff: 
sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/plans/logical/LogicalPlan.scala
 ---
    @@ -120,22 +120,54 @@ abstract class LogicalPlan
       /**
        * Resolve the given `name` string against the given attribute, 
returning either 0 or 1 match.
    --- End diff --
    
    The resolution logic needs to account to compare the full qualifier.   If 
you are trying to resolve db1.t1.i1, the match needs to happen against the 
entire qualifier of the attribute.  

    
    For e.g: 
    ```SQL
     select db1.t1.i1 from t1   // current database is db1  and lets say t1 has 
 columns i1, i2. 
    ```
    When resolving db1.t1.i1,  against the following set of Input attributes.   
    we will have the following attribute references:
    - AttributeReference ( qualifier Seq(db1, t1)  and name is i1)
    - AttributeReference ( qualifier Seq(db1, t1) and name is i2) 
    
    So the new resolution logic will match the entire qualifier sequence and 
then match the column ( ie the attribute name) 



---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org
For additional commands, e-mail: reviews-h...@spark.apache.org

Reply via email to