tdas opened a new pull request #32067:
URL: https://github.com/apache/spark/pull/32067


   ### What changes were proposed in this pull request?
   Change UpdateAction and InsertAction of MergeIntoTable to explicitly 
represent star,
   
   ### Why are the changes needed?
   Currently, UpdateAction and InsertAction in the MergeIntoTable implicitly 
represent `update set *` and `insert *` with empty assignments. That means 
there is no way to differentiate between the representations of "update all 
columns" and "update no columns". For SQL MERGE queries, this inability does 
not matter because the SQL MERGE grammar that generated the MergeIntoTable plan 
does not allow "update no columns". However, other ways of generating the 
MergeIntoTable plan may not have that limitation, and may want to allow 
specifying "update no columns". For example, in the Delta Lake project we 
provide a type-safe Scala API for Merge, where it is perfectly valid to produce 
a Merge query with an update clause but no update assignments. Currently, we 
cannot use MergeIntoTable to represent this plan, thus complicating the 
generation, and resolution of merge query from scala API.
   
   ### Does this PR introduce _any_ user-facing change?
   No
   
   
   ### How was this patch tested?
   Existing unit tests


-- 
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:
us...@infra.apache.org



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

Reply via email to