Github user gatorsmile commented on the issue:

    https://github.com/apache/spark/pull/14962
  
    The biggest external change is in the table resolution order. Now, three 
common `SessionCatalog` functions `tableExists`, `getTableMetadata` and 
`lookupRelation` are not using the same order. `tableExists` and 
`getTableMetadata` do not check the existence of temp table, but 
`lookupRelation` always first checks the temp table. This inconsistency could 
be risky. That means, we allow users to create a table with the same name like 
a temp table. When we query the table, we will get the temp view at first. 
    
    In addition, we have review all the places that are using these three 
functions. For example, the analyzer rule `PreWriteCheck` is [using both 
`lookupRelation` and 
`tableExists`](https://github.com/apache/spark/blob/6d86403d8b252776effcddd71338b4d21a224f9b/sql/core/src/main/scala/org/apache/spark/sql/execution/datasources/rules.scala#L309-L311).
 We will have a bug after this PR.


---
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 infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---

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

Reply via email to