gavinchou opened a new pull request, #66849:
URL: https://github.com/apache/doris/pull/66849
### What problem does this PR solve?
Issue Number: None
Related PR: None
Problem Summary:
MIN_DELTA row-binlog scans previously classified each primary-key window
only from its first and last operation. As a result, an update emitted
`UPDATE_BEFORE` and `UPDATE_AFTER` rows even when the complete row image was
unchanged, including multi-update chains that eventually returned to their
original values.
This change reads all AFTER/BEFORE value columns needed by MIN_DELTA,
compares the first BEFORE image with the final AFTER image, and converts a
net-zero update into `SKIP`. Comparison-only columns remain hidden from the SQL
projection. Missing, incompatible, or unsupported BEFORE images preserve the
existing UPDATE output conservatively.
The tests cover direct no-op updates, changes in unprojected columns,
multiple keys and columns, pending output across batch boundaries, and complex
insert/delete/update chains that either return to the original image or finish
changed.
### Release note
MIN_DELTA row-binlog queries no longer return update rows when the complete
row image is unchanged across the query window.
### Check List (For Author)
- Test
- [ ] Regression test
- [x] Unit Test
- `BlockReaderChangeNextBlockTest.*`: 18/18 passed under ASAN.
- Release BE and Cloud targets compiled successfully.
- [ ] Manual test
- [ ] No need to test or manual test.
- Behavior changed:
- [ ] No.
- [x] Yes. Net-zero updates are omitted from MIN_DELTA results.
- Does this need documentation?
- [ ] No.
- [x] Yes. A follow-up documentation update is planned.
### Check List (For Reviewer who merge this PR)
- [ ] Confirm the release note
- [ ] Confirm test cases
- [ ] Confirm document
- [ ] Add branch pick label
--
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: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]