-
Committer:
Frazer Clement
-
Date:
2012-05-03 09:41:32 UTC
-
Revision ID:
frazer.clement@oracle.com-20120503094132-txb7j8vzsynr1qi0
WL#5917 Appending data to Rows_log_event
Overview
--------
This feature implements new 'version 2' Binlog row events for the existing
WRITE_ROW, UPDATE_ROW, DELETE_ROW events. Version 2 Binlog row events
become the default.
These new 'version 2' Binlog row events can transport extra information
*with* each row event.
A Master can optionally generate 'version 1' Binlog row events by setting the
--log-bin-use-v1-row-events=1 MySQLD option/variable. This is necessary
during an upgrade where the Master is upgraded before the Slave.
Motivation
----------
This feature is primarily motivated by WL5353 Reflecting GCI, which uses
the extra row event data to transport per-row event transaction identities.
Details
-------
- 3 new event types added
- Existing row events renamed with _v1 suffix
- log-bin-use-v1-row-events option added
- Existing row event classes reused
- Extra row info is one use case of new 'v2' extensible row
event format. Should be no need for 'v3'.
- Binlog injector Api enhanced to allow info to be passed in
- THD Api enhanced to expose info to storage engine running as
Slave SQL thread
- mysqlbinlog tool enhanced to show extra info in --verbose mode.
- New testcases : rpl_extra_row_data, log_bin_use_v1_row_events_basic
- Enhanced testcase : binlog_old_versions
- Various corrected / adjusted testcases