~mysql/mysql-server/5.6

Viewing all changes in revision 3776.

  • 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


expand all expand all

Show diffs side-by-side

added added

removed removed

Lines of Context: