-
Notifications
You must be signed in to change notification settings - Fork 682
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Mysql 8.0.14 version support Table map Event optional metaData , Sync Column #446
Mysql 8.0.14 version support Table map Event optional metaData , Sync Column #446
Conversation
Previously, `get_optional_meta_data` attempt to read trailing 4 bytes reserved for Common-Footer. Changes: - Added `bytes_to_read` to indicate remaining bytes (including 4 bytes) - Updated `get_optional_meta_data` to read everything but 4 bytes
…on-mysql-replication/python-mysql-replication into feature/optional-meta-data
ba07c5c
to
3233f56
Compare
This reverts commit b9a2b66.
14533cf
to
0240a50
Compare
fix testcase fix test case testcase fix
0240a50
to
bc1ee8c
Compare
It measns Now BINLOG_ROW_METADATA = FULL but still remain BINLOG_ROW_METADATA Mode = MINIMAL in Binlog
This reverts commit 30b5fe2.
@julien-duponchelle I Also checked all Test when Mysql 8.0.23 Enviornment with github action |
this is great news, when will support for mysql 8 become available? |
@antoolx @julien-duponchelle |
0323693
to
9d72858
Compare
enum when Mysql 5.7 case error enum and set BINLOG_IMAGE = MINIMAL erase print
9d72858
to
9c781b5
Compare
It's merged that's amazing. I suggest we start working on a 1.0 release |
looking forward to the 1.0 release, very excited 🎉. |
I'm glad this PR was helpful to you! because , there is no metadata in the past binlog, please check it out! |
@abdullahmafuz2020 |
Fixed: #444
This PR depends on : #440 , #477
Description
Mysql 8.0.14 version Table map event optional meta data can be used
when the global variable binlog_row_metadata is set to 'FULL'. AND binlog_row_image is set to FULL
With this global variable value, we can retrieve column information from the binlog when a table map event occurs.
We apologize to those using MYSQL 5, but we no longer support python-mysql-replication prior to version 0.44.0.
If We sync from optional meta data, Column name Information Flag = True
Changes
Parsing Column Infromation from optional metadata
We no longer need to rely on the current moment's database table schema information.
We can sync column data at the time of event occurrence
Test
I Added Testcase mysql, mariadb version
example Sql
dump
reference
https://mariadb.com/kb/en/table_map_event/#optional-metadata-block
https://dev.mysql.com/doc/dev/mysql-server/latest/classbinary__log_1_1Table__map__event.html
https://github.com/mysql/mysql-server/blob/8.0/libbinlogevents/include/rows_event.h#L389
https://github.com/mysql/mysql-server/blob/8.0/libbinlogevents/src/rows_event.cpp