feat(agg): support paimon Java config aggregation.remove-record-on-delete#225
Merged
lszskye merged 1 commit intoalibaba:mainfrom Apr 16, 2026
Merged
Conversation
7ccaec8 to
a0bb9fb
Compare
a0bb9fb to
63b738f
Compare
There was a problem hiding this comment.
Pull request overview
Adds support for the aggregation.remove-record-on-delete table option so the aggregation merge engine can output DELETE records (instead of treating them purely as retractions), aligning behavior with the Java configuration.
Changes:
- Introduce new option constant
aggregation.remove-record-on-deleteand parse/store it inCoreOptions. - Plumb the option into
AggregateMergeFunctionand adjust merge/output logic to returnRowKind::Delete()when applicable. - Add unit tests covering delete behavior with and without the new option.
Reviewed changes
Copilot reviewed 7 out of 7 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
src/paimon/core/mergetree/compact/aggregate/aggregate_merge_function.cpp |
Implements delete-short-circuit behavior when the new option is enabled and outputs DELETE via GetResult(). |
src/paimon/core/mergetree/compact/aggregate/aggregate_merge_function.h |
Adds/initializes new merge-function state (remove_record_on_delete_, current_delete_row_). |
src/paimon/core/mergetree/compact/aggregate/aggregate_merge_function_test.cpp |
Adds tests for delete handling with/without aggregation.remove-record-on-delete. |
src/paimon/core/core_options.h |
Declares CoreOptions::AggregationRemoveRecordOnDelete(). |
src/paimon/core/core_options.cpp |
Parses and stores the new option in CoreOptions. |
include/paimon/defs.h |
Declares the new option key in Options. |
src/paimon/common/defs.cpp |
Defines the new option key string literal. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
lszskye
reviewed
Apr 14, 2026
lszskye
reviewed
Apr 14, 2026
1cb1e37 to
efd534e
Compare
lxy-9602
reviewed
Apr 15, 2026
c6489ac to
c7d549d
Compare
lszskye
approved these changes
Apr 16, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Purpose
Support Java version
aggregation.remove-record-on-deleteconfigLinked issue: close #xxx
Tests
API and Format
support
aggregation.remove-record-on-deleteoptionsDocumentation
In C++ version
for Java
Generative AI tooling