mariadb/mysql-test/suite/rpl
Luis Soares 4923b4157c BUG#50018: binlog corruption when table has many columns
For tables with metadata sizes ranging from 251 to 255 the size
of the event data (m_data_size) was being improperly calculated
in the Table_map_log_event constructor. This was due to the fact
that when writing the Table_map_log_event body (in
Table_map_log_event::write_data_body) a call to net_store_length
is made for packing the m_field_metadata_size. It happens that
net_store_length uses *one* byte for storing
m_field_metadata_size when it is smaller than 251 but *three*
bytes when it exceeds that value. BUG 42749 had already
pinpointed and fix this fact, but the fix was incomplete, as the
calculation in the Table_map_log_event constructor considers 255
instead of 251 as the threshold to increment m_data_size by
three. Thence, the window for having a mismatch between the
number of bytes written and the number of bytes accounted in the
event length (m_data_size) was left open for
m_field_metadata_size values between 251 and 255.

We fix this by changing the condition in the Table_map_log_event
constructor to match the one in the net_store_length, ie,
increment one byte if m_field_metadata_size < 251 and three if it
exceeds this value.
2010-01-06 00:44:31 +00:00
..
include Fixed rpl_innodb_mixed_ddl and rpl_000015. 2009-04-26 22:21:01 +01:00
r BUG#50018: binlog corruption when table has many columns 2010-01-06 00:44:31 +00:00
t BUG#50018: binlog corruption when table has many columns 2010-01-06 00:44:31 +00:00
combinations WL#4350 Options in my.cnf style config file should not start with -- 2008-09-05 15:31:09 +02:00
my.cnf Fix comment 2008-04-08 10:11:07 +02:00
README
rpl_1slave_base.cnf BUG#40257: Please remove --loose-skip-innodb from suite/rpl/rpl_1slave_base.cnf 2008-11-04 18:07:14 +01:00

How to run.
===========

./mysql-test-run.pl --suite=rpl --mysqld=--binlog-format=mixed