Commit c2b8f35
authored
Skip db name parsing if mts_accessed_dbs == 254 (julien-duponchelle#369)
I interpreted `mts_accessed_dbs` as db count in PR#360 (released in 0.27).
However after reproducing kvitek's exception in Issue#278,
I did some more research how it is set:
https://github.com/mysql/mysql-server/blob/6846e6b2f72931991cc9fd589dc9946ea2ab58c9/sql/log_event.cc#L3598-L3602
(log_event.h /log_event.cc is responsible for writing low-level binlog,
according to
https://dev.mysql.com/doc/internals/en/source-files-related-to-the-binary-log.html)
Turns out that if the value of the variables equals 254,
the variable is no longer interpreted as the db count,
but represent a following case:
1. db count equals 1
2. The name of the only db is blank.
Therefore, I edited event.py so that after the value 254 is encountered,
no further parsing is done regarding db names.
So far I have reproduced the issue for `BeginEvent`.
However, I have not yet figured out to incorporate into unittest.
I will add tests ASAP.1 parent 7fd706d commit c2b8f35
1 file changed
+11
-0
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
257 | 257 | | |
258 | 258 | | |
259 | 259 | | |
| 260 | + | |
| 261 | + | |
| 262 | + | |
| 263 | + | |
| 264 | + | |
| 265 | + | |
| 266 | + | |
| 267 | + | |
| 268 | + | |
| 269 | + | |
| 270 | + | |
260 | 271 | | |
261 | 272 | | |
262 | 273 | | |
| |||
0 commit comments