I have a program which can read MySQL binlog. Recently I use the program to parse a binlog generated by MariaDb 10.3. I found that there are Q_FLAGS in the QUERY_EVENT which was not specified in the MySQL binlog specification. The Q_FLAG number is 52. I cannot found any document describing this Q_FLAG. Will any one know what it is? Or point me to a document to find out what is this Q_FLAG for?
Asked
Active
Viewed 42 times
1 Answers
0
I found the error. The problem was according to the binlog specification, the Q_TIME_ZONE_CODE should be a 1 length byte + number byte of character of time zone code. Then I found there are four more bytes after the name, not idea what they are. There seems to have the following possible bugs.
The four bytes after the time zone name not specified in the spec, or
The qflag length was 4 bytes longer when there is a Q_TIME_ZONE_CODE.
No idea if this only happen to MariaDB.
Also note that using MariaDB mysqlbinlog can dump the binlog. But the mysqlbinlog in MySQL 5.6 cannot dump the log; created by MariaDB 10.3

Gerald Me
- 107
- 1
- 2
- 8
-
What is the value of the first byte from 4 remaining bytes? – Georg Richter Oct 18 '22 at 08:22