server
server copied to clipboard
MDEV-23077: --flashback + --table produces buggy results
trafficstars
- Split from and built upon #1674
- [x] The Jira issue number for this PR is: MDEV-23077
What problem is the patch trying to solve?
- Events of skipped tables were still queued and generates extraneous “Row event for unknown table” when flashing back.
- Skipping a statement-end event left prior non-skipped events processed incompletely.
How can this PR be tested?
#1674 provided a < CASE 8 > for binlog.flashback which I simplified and corrected (?) to cover both bullet points.
It also adds a < CASE 9 > checking the similar --database excludes the not-specified database.
PR quality check
- ~~This is a new feature or a refactoring, and the PR is based against the
mainbranch.~~- #1674 included changes that adds multi-choice support for
--databaseand--table. This PR excludes them.
- #1674 included changes that adds multi-choice support for
- [x] This is a bug fix, and the PR is based against the earliest maintained branch in which the bug can be reproduced.
- [x] I checked the CODING_STANDARDS.md file and my PR conforms to this where appropriate.
- [x] For any trivial modifications to the PR, I am ok with the reviewer making the changes themselves.
- [ ] TODO: I forgot to clarify in Commit 2’s descripton that the bugs described were already fixed in Commit 1. If I drop by the past again, I should amend it back in.
There were reports of binlog event memory leaks at the time I ported this contributed bug fix. I don’t remember my build configs at that time, and apparently don’t have MSAN on my new device, so I don’t know if this latest commit is it. All I know is that this delta does not appear to be necessary for passing the new test cases, so I might as well skip it.