BUG#22583 (RBR between MyISAM and non-MyISAM tables containing BIT field

does not work): Changing packed row format to only include null bits
for those columns that are present in the row as well as writing BIT
columns in a storage engine-independent format.

The change in row format is incompatible with the previous format and a
slave will not be able to read the new events.


mysql-test/extra/rpl_tests/rpl_deadlock.test:
  Position change since Format_description_log_event is longer.
mysql-test/extra/rpl_tests/rpl_log.test:
  Position change since Format_description_log_event is longer.
mysql-test/extra/rpl_tests/rpl_row_charset.test:
  Position change since Format_description_log_event is longer.
mysql-test/r/rpl_000015.result:
  Result change.
mysql-test/r/rpl_change_master.result:
  Result change.
mysql-test/r/rpl_deadlock_innodb.result:
  Result change.
mysql-test/r/rpl_flushlog_loop.result:
  Result change.
mysql-test/r/rpl_log_pos.result:
  Result change.
mysql-test/r/rpl_row_basic_11bugs.result:
  Result change.
mysql-test/r/rpl_row_charset.result:
  Result change.
mysql-test/r/rpl_row_create_table.result:
  Result change.
mysql-test/r/rpl_row_delayed_ins.result:
  Result change.
mysql-test/r/rpl_row_drop.result:
  Result change.
mysql-test/r/rpl_row_flsh_tbls.result:
  Result change.
mysql-test/r/rpl_row_inexist_tbl.result:
  Result change.
mysql-test/r/rpl_row_log.result:
  Result change.
mysql-test/r/rpl_row_log_innodb.result:
  Result change.
mysql-test/r/rpl_row_max_relay_size.result:
  Result change.
mysql-test/r/rpl_row_reset_slave.result:
  Result change.
mysql-test/r/rpl_row_until.result:
  Result change.
mysql-test/r/rpl_server_id1.result:
  Result change.
mysql-test/r/rpl_server_id2.result:
  Result change.
mysql-test/r/rpl_switch_stm_row_mixed.result:
  Result change.
mysql-test/r/rpl_truncate_2myisam.result:
  Result change.
mysql-test/r/rpl_truncate_3innodb.result:
  Result change.
mysql-test/t/rpl_loaddata_s.test:
  Position change since Format_description_log_event is longer.
mysql-test/t/rpl_log_pos.test:
  Position change since Format_description_log_event is longer.
mysql-test/t/rpl_row_basic_11bugs-master.opt:
  Adding --innodb option
mysql-test/t/rpl_row_basic_11bugs.test:
  Testing explicitly for RBR MyISAM -> InnoDB and vice versa.
  Position change since Format_description_log_event is longer.
mysql-test/t/rpl_row_create_table.test:
  Position change since Format_description_log_event is longer.
mysql-test/t/rpl_row_flsh_tbls.test:
  Position change since Format_description_log_event is longer.
mysql-test/t/rpl_row_mysqlbinlog.test:
  Position change since Format_description_log_event is longer.
mysql-test/t/rpl_switch_stm_row_mixed.test:
  Position change since Format_description_log_event is longer.
mysql-test/t/user_var-binlog.test:
  Position change since Format_description_log_event is longer.
sql/log_event.cc:
  Changing packed row format to only include null bits for those columns
  that are present in the row as well as writing BIT columns in a storage
  engine-independent format.
  
  Changing unpack_row() to accomodate for the changes.
sql/log_event.h:
  Renumbering old row events and adding new codes.
sql/sql_class.cc:
  Changing packed row format to only include null bits for those columns
  that are present in the row as well as writing BIT columns in a storage
  engine-independent format.
  
  Changing THD::pack_row() to accomodate for the changes and adding
  documentation.
mysql-test/t/rpl_row_basic_11bugs-slave.opt:
  New BitKeeper file ``mysql-test/t/rpl_row_basic_11bugs-slave.opt''
This commit is contained in:
unknown 2007-02-12 16:46:42 +01:00
commit e4146a9f7a
38 changed files with 548 additions and 266 deletions

View file

@ -442,10 +442,23 @@ enum Log_event_type
XID_EVENT= 16,
BEGIN_LOAD_QUERY_EVENT= 17,
EXECUTE_LOAD_QUERY_EVENT= 18,
TABLE_MAP_EVENT = 19,
WRITE_ROWS_EVENT = 20,
UPDATE_ROWS_EVENT = 21,
DELETE_ROWS_EVENT = 22,
/*
These event numbers were used for 5.1.0 to 5.1.15 and are
therefore obsolete.
*/
PRE_GA_WRITE_ROWS_EVENT = 20,
PRE_GA_UPDATE_ROWS_EVENT = 21,
PRE_GA_DELETE_ROWS_EVENT = 22,
/*
These event numbers are used from 5.1.16 and forward
*/
WRITE_ROWS_EVENT = 23,
UPDATE_ROWS_EVENT = 24,
DELETE_ROWS_EVENT = 25,
/*
Add new events here - right above this comment!