branch-4.1: [feature](paimon) Support row-level UPDATE, DELETE, and MERGE - #66498
branch-4.1: [feature](paimon) Support row-level UPDATE, DELETE, and MERGE#66498suxiaogang223 wants to merge 5 commits into
Conversation
|
Thank you for your contribution to Apache Doris. Please clearly describe your PR:
|
|
run buildall |
Cloud UT Coverage ReportIncrement line coverage Increment coverage report
|
BE UT Coverage ReportIncrement line coverage Increment coverage report
|
BE Regression && UT Coverage ReportIncrement line coverage Increment coverage report
|
FE Regression Coverage ReportIncrement line coverage |
|
Thanks for adding Paimon row-level DML support. I reviewed the current head Correctness issues[P1] DELETE can silently succeed without deleting rows when
|
ac1681a to
d594db9
Compare
|
run buildall |
FE UT Coverage ReportIncrement line coverage |
|
run buildall |
Gabriel39
left a comment
There was a problem hiding this comment.
I found two remaining row-level DML correctness gaps on the current head. Both can let a statement succeed while Paimon silently chooses or retains a different row version.
f666857 to
ef5b271
Compare
|
run buildall |
|
I completed a follow-up review of the current head [P1]
|
BE UT Coverage ReportIncrement line coverage Increment coverage report
|
BE Regression && UT Coverage ReportIncrement line coverage Increment coverage report
|
FE Regression Coverage ReportIncrement line coverage |
What changed
This PR adds row-level DML support for Apache Paimon tables through the Doris Paimon catalog:
UPDATE ... SET ... WHERE ...deduplicateandpartial-updatemerge engines.DELETE FROM ... WHERE ...deduplicate.partial-updateandaggregatetables when their Paimon delete/removal options are enabled.MERGE INTO ... USING ... ON ...WHEN MATCHED THEN UPDATE.WHEN MATCHED THEN DELETE.WHEN NOT MATCHED THEN INSERT.Append-only tables are rejected for row-level DML. Unsupported merge engines and table options fail during analysis with explicit error messages.
Implementation
first-rowcases.User impact
Users can modify existing Paimon primary-key tables directly with standard Doris SQL instead of rewriting the table through INSERT or an external compute engine.
Validation
BUILD_TYPE=Debug DISABLE_BUILD_UI=ON ./build.sh --fe -j12test_paimon_write_row_level_dml: UPDATE, DELETE, MERGE, and negative cases all passedRelated to #65086