mccheah opened a new pull request #24798: [SPARK-27724][WIP] Implement REPLACE 
TABLE and REPLACE TABLE AS SELECT with V2
URL: https://github.com/apache/spark/pull/24798
 
 
   ## What changes were proposed in this pull request?
   
   Implements the `REPLACE TABLE` and `REPLACE TABLE AS SELECT` logical plans. 
`REPLACE TABLE` is now a valid operation in spark-sql provided that the tables 
being modified are managed by V2 catalogs.
   
   This also introduces an atomic mix-in that table catalogs can choose to 
implement. Table catalogs can now implement `TransactionalTableCatalog`. The 
semantics of this API are that table creation and replacement can be "staged" 
and then "committed".
   
   On the execution of `REPLACE TABLE AS SELECT`, `REPLACE TABLE`, and `CREATE 
TABLE AS SELECT`, if the catalog implements transactional operations, the 
physical plan will use said functionality. Otherwise, these operations fall 
back on non-atomic variants. For `REPLACE TABLE` in particular, the usage of 
non-atomic operations can unfortunately lead to inconsistent state.
   
   ## How was this patch tested?
   
   Unit tests (to be written)
   

----------------------------------------------------------------
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]


With regards,
Apache Git Services

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

Reply via email to