You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hudi.apache.org by "hudi-bot (via GitHub)" <gi...@apache.org> on 2025/11/30 06:13:26 UTC
[I] Avoid using Projections in generic Merge Into DMLs [hudi]
hudi-bot opened a new issue, #15635:
URL: https://github.com/apache/hudi/issues/15635
Currently, `MergeIntoHoodieTableCommand` squarely relies on semantic implemented by `ExpressionPayload` to be able to insert/update records.
While this is necessary since MIT semantic enables users to do sophisticated and fine-grained updates (for ex, partial updating), this is not necessary in the most generic case:
{code:java}
MERGE INTO target
USING ... source
ON target.id = source.id
WHEN MATCHED THEN UPDATE *
WHEN NOT MATCHED THEN INSERT *{code}
This is essentially just a SQL way of implementing an upsert – if there are matching records in the table we update them, otherwise – insert.
In this case there's actually no need to use ExpressionPayload at all, and we can just simply use normal Hudi upserting flow to handle it (avoiding all of the ExpressionPayload overhead)
## JIRA info
- Link: https://issues.apache.org/jira/browse/HUDI-5405
- Type: Bug
- Epic: https://issues.apache.org/jira/browse/HUDI-3249
- Affects version(s):
- 0.12.1
- Fix version(s):
- 1.1.0
--
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.
To unsubscribe, e-mail: commits-unsubscribe@hudi.apache.org.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org