We initialize the table_map when we create the binlogstreamreader object.
After that, if the binlog is maxsize full, a rotateEvent is fired.
At that point, we empty the table_map because the timestamp is not zero.
Then, when we connect to the next binlogfile, we get a rotateEvent with a timestamp of 0. We don't need to empty the table_map again.
However, when we disconnect from mysql and reconnect, we get a fake rotateEvent with a 0 timestamp.
In this case, we inform the client of error logging and do not initialize the table map.
Type of Change
[x] Bug fix
[ ] New feature
[ ] Documentation update
[ ] Other (please specify below)
Checklist
[x] I have read and understood the CONTRIBUTING.md document.
[x] I have checked there aren't any other open Pull Requests for the desired changes.
[ ] This PR resolves an issue #[Issue Number Here].
Tests
[x] All tests have passed.
[x] New tests have been added to cover the changes. (describe below if applicable).
Description
resolve #578
We initialize the table_map when we create the binlogstreamreader object.
After that, if the binlog is maxsize full, a rotateEvent is fired. At that point, we empty the table_map because the timestamp is not zero. Then, when we connect to the next binlogfile, we get a rotateEvent with a timestamp of 0. We don't need to empty the table_map again.
However, when we disconnect from mysql and reconnect, we get a fake rotateEvent with a 0 timestamp. In this case, we inform the client of error logging and do not initialize the table map.
Type of Change
Checklist
Tests
Additional Information