ROWS_EVENT_V1
You are viewing an old version of this article. View
the current version here.
A ROWS_EVENT_V1 is written for row based replication if data is inserted, deleted or updated:
Event types
WRITE_ROWS_EVENT_V1 | Insert new row |
UPDATE_ROWS_EVENT_V1 | Update existing row |
DELETE_ROWS_EVENT_V1 | Delete existing row |
Header
- WRITE_ROWS_EVENT_V1: Event Type is 23 (0x17)
- UPDATE_ROWS_EVENT_V1: Event Type is 24 (0x18)
- DELETE_ROWS_EVENT_V1: Event Type is 25 (0x19)
Fields
- uint<6> The table id
- uint<2> Flags
- uint<lenenc> Number of columns
- byte<n>Indicator Bitmap for unsigned values. n = (number_of_columns + 7)/8
- if (event_type == UPDATE_ROWS_EVENT_v1
- byte<n> Indicator Bitmap_Update for unsigned values. n = (number_of_columns + 7)/8
- byte<n> Null Bitmap (n = (number_of_columns + 7)/8)
- string<len> Column data. The length needs to be calculated by checking the column types from referring TABLE_MAP_EVENT.
- if (event_type == UPDATE_ROWS_EVENT_v1
- byte<n> Null Bitmap_Update. n = (number_of_columns + 7)/8
- string<len> Update Column data. The length needs to be calculated by checking the column types from referring TABLE_MAP_EVENT.
Flags
0x0001 | End of statement |
0x0002 | No foreign key checks |
0x0004 | No unique key checks |
Example From mysqlbinlog Utility, CRC32
# at 1680 #180611 9:50:51 server id 1 end_log_pos 1754 CRC32 0x5415a8fb Write_rows: table id 23 flags: STMT_END_F BINLOG ' 2ykeWxMBAAAAPgAAAJAGAAAAABcAAAAAAAEABHRlc3QACWJ1bGtfbnVsbAAFDwMFE/YGFAAIAAMB H1bULg8= 2ykeWxcBAAAASgAAANoGAAAAABcAAAAAAAEABf/gATMDAAAAAAAAAAAACECAAACDAP/gATMDAAAA AAAAAAAACECAAACDAPuoFVQ= '/*!*/;
Example Event As It's Written In The Binlog File
db 29 1e 5b 17 01 00 00 00 4a 00 .).[.....J. 00 00 da 06 00 00 00 00 17 00 00 00 00 00 01 00 ................ 05 ff e0 01 33 03 00 00 00 00 00 00 00 00 00 08 ....3........... 40 80 00 00 83 00 ff e0 01 33 03 00 00 00 00 00 @........3...... 00 00 00 00 08 40 80 00 00 83 00 fb a8 15 54 .....@........T ....
Comments
Comments loading...
Content reproduced on this site is the property of its respective owners,
and this content is not reviewed in advance by MariaDB. The views, information and opinions
expressed by this content do not necessarily represent those of MariaDB or any other party.