mariadb/mysql-test/suite/rpl_ndb/t
Luis Soares 73f10f0662 BUG#49481: RBR: MyISAM and bit fields may cause slave to stop on delete:
cant find record

Some engines return data for the record. Despite the fact that
the null bit is set for some fields, their old value may still in
the row. This can happen when unpacking an AI from the binlog on
top of a previous record in which a field is set to NULL, which
previously contained a value. Ultimately, this may cause the
comparison of records to fail when the slave is doing an index or
range scan.

We fix this by deploying a call to reset() for each field that is
set to null while unpacking a row from the binary log.
Furthermore, we also add mixed mode test case to cover the
scenario where updating and setting a field to null through a
Query event and later searching it through a rows event will
succeed.

Finally, we also change the reset() method, from Field_bit class,
so that it takes into account bits stored among the null bits and
not only the ones stored in the record.

mysql-test/suite/rpl/t/rpl_set_null_innodb.test:
  InnoDB test.
mysql-test/suite/rpl/t/rpl_set_null_myisam.test:
  MyISAM test.
mysql-test/suite/rpl_ndb/t/rpl_ndb_set_null.test:
  NDB test.
sql/field.h:
  Changed reset so that it also clears the bits
  among the null_bits for the Field_bit class.
sql/rpl_record.cc:
  Resetting field after setting it to null when unpacking
  row.
2010-01-21 17:20:24 +00:00
..
disabled.def Bug #45974: disable test case in 5.1-bugteam 2009-07-06 18:17:39 +03:00
rpl_ndb_2innodb-master.opt Bug#32648 Test failure between NDB Cluster and other engines 2008-01-04 15:33:01 +01:00
rpl_ndb_2innodb-slave.opt Bug#32648 Test failure between NDB Cluster and other engines 2008-01-04 15:33:01 +01:00
rpl_ndb_2innodb.test Make sure to remova any old files related to mysql.ndb_apply_status 2008-03-06 10:16:14 +01:00
rpl_ndb_2myisam-master.opt Bug#32648 Test failure between NDB Cluster and other engines 2008-01-04 15:33:01 +01:00
rpl_ndb_2myisam-slave.opt Bug#32648 Test failure between NDB Cluster and other engines 2008-01-04 15:33:01 +01:00
rpl_ndb_2myisam.test Make sure to remova any old files related to mysql.ndb_apply_status 2008-03-06 10:16:14 +01:00
rpl_ndb_2ndb-slave.opt correcting wrong test case 2008-02-11 15:06:07 +01:00
rpl_ndb_2ndb.test Add missing "include/have_ndb.inc" 2008-04-25 08:21:26 +02:00
rpl_ndb_2other-slave.opt Bug#19027 MySQL 5.0 starts even with Fatal InnoDB errors 2009-05-18 13:39:13 +02:00
rpl_ndb_2other.test BUG#38350: Many tests don't clean up after themselves on exit. 2008-11-13 20:19:00 +01:00
rpl_ndb_apply_status-master.opt Bug#28170 replicate-ignore-db=mysql should not ignore mysql.ndb_apply_status 2007-11-02 13:07:14 +01:00
rpl_ndb_apply_status.test Bug#28170 replicate-ignore-db=mysql should not ignore mysql.ndb_apply_status 2007-11-02 13:07:14 +01:00
rpl_ndb_auto_inc.test Merge pilot.(none):/data/msvensson/mysql/wl3933/my51-wl3933-new2 2007-06-27 14:29:10 +02:00
rpl_ndb_bank.test WL#4189 2007-12-12 18:19:24 +01:00
rpl_ndb_basic.test BUG#37975: wait_for_slave_* should increase the timeout 2008-07-10 18:09:39 +02:00
rpl_ndb_blob.test tests actually work in statement based 2007-09-05 18:44:47 +02:00
rpl_ndb_blob2.test tests actually work in statement based 2007-09-05 18:44:47 +02:00
rpl_ndb_circular.test BUG#44661: rpl_ndb.rpl_ndb_circular_simplex fails because of 2009-09-27 23:03:05 +01:00
rpl_ndb_circular_2ch.cnf BUG#39007 rpl_ndb.rpl_ndb_circular_2ch crashed in pushbuild 2008-10-31 22:11:44 +08:00
rpl_ndb_circular_2ch.test Bug #41732 rpl_ndb_circular_2ch needs an updated configuration file 2009-02-02 22:31:01 +02:00
rpl_ndb_circular_simplex.test BUG#44661: rpl_ndb.rpl_ndb_circular_simplex fails because of 2009-09-27 23:03:05 +01:00
rpl_ndb_commit_afterflush.test tests actually work in statement based 2007-09-05 18:44:47 +02:00
rpl_ndb_ctype_ucs2_def-master.opt Many tests have been moved to suite/*. Some tests have been removed. 2007-07-04 23:41:15 +02:00
rpl_ndb_ctype_ucs2_def.test BUG#38350: Many tests don't clean up after themselves on exit. 2008-11-13 20:19:00 +01:00
rpl_ndb_dd_basic.test Merge dl145h.mysql.com:/data0/mkindahl/mysql-5.1-main 2007-07-25 15:40:43 +02:00
rpl_ndb_dd_partitions-master.opt rpl_ndb_dd_partitions-slave.opt: 2007-08-21 16:26:00 +02:00
rpl_ndb_dd_partitions-slave.opt rpl_ndb_dd_partitions-slave.opt: 2007-08-21 16:26:00 +02:00
rpl_ndb_dd_partitions.test Merge dl145h.mysql.com:/data0/mkindahl/mysql-5.1-main 2007-07-25 15:40:43 +02:00
rpl_ndb_ddl.test Merge dl145h.mysql.com:/data0/mkindahl/mysql-5.1-main 2007-07-25 15:40:43 +02:00
rpl_ndb_delete_nowhere.test tests actually work in statement based 2007-09-05 18:44:47 +02:00
rpl_ndb_do_db-slave.opt WL#3933 Split main test suite to rpl, rpl_ndb and ndb 2007-06-27 14:28:02 +02:00
rpl_ndb_do_db.test tests actually work in statement based 2007-09-05 18:44:47 +02:00
rpl_ndb_do_table-slave.opt WL#3933 Split main test suite to rpl, rpl_ndb and ndb 2007-06-27 14:28:02 +02:00
rpl_ndb_do_table.test tests actually work in statement based 2007-09-05 18:44:47 +02:00
rpl_ndb_extraCol.test Merge dl145h.mysql.com:/data0/mkindahl/mysql-5.1-main 2007-07-25 15:40:43 +02:00
rpl_ndb_func003.test tests actually work in statement based 2007-09-05 18:44:47 +02:00
rpl_ndb_idempotent.test Merge dl145h.mysql.com:/data0/mkindahl/mysql-5.1-main 2007-07-25 15:40:43 +02:00
rpl_ndb_innodb2ndb-master.opt WL#3933 Split main test suite to rpl, rpl_ndb and ndb 2007-06-27 14:28:02 +02:00
rpl_ndb_innodb2ndb-slave.opt BUG#29549 (Endians: test failures on Solaris): 2007-10-11 18:18:05 +02:00
rpl_ndb_innodb2ndb.test BUG#29549 (Endians: test failures on Solaris): 2007-10-11 18:18:05 +02:00
rpl_ndb_innodb_trans-slave.opt WL#3933 Split main test suite to rpl, rpl_ndb and ndb 2007-06-27 14:28:02 +02:00
rpl_ndb_innodb_trans.test WL#4189 2007-12-12 18:19:24 +01:00
rpl_ndb_insert_ignore.test tests actually work in statement based 2007-09-05 18:44:47 +02:00
rpl_ndb_load.test WL#4189 2007-12-12 18:19:24 +01:00
rpl_ndb_log-master.opt WL#3933 Split main test suite to rpl, rpl_ndb and ndb 2007-06-27 14:28:02 +02:00
rpl_ndb_log.test Merge pilot.(none):/data/msvensson/mysql/wl3933/my51-wl3933-new2 2007-06-27 14:29:10 +02:00
rpl_ndb_mixed_engines_transactions-master.opt BUG#37373: rpl_ndb_transaction fails sporadically in pb on sol10-amd64-a and sol10-sparc-a 2008-07-06 12:53:25 +02:00
rpl_ndb_mixed_engines_transactions-slave.opt BUG#37373: rpl_ndb_transaction fails sporadically in pb on sol10-amd64-a and sol10-sparc-a 2008-07-06 12:53:25 +02:00
rpl_ndb_mixed_engines_transactions.test Bug #38738 rpl_ndb_mixed_engines_transactions result content mismatch 2008-08-14 00:18:31 +03:00
rpl_ndb_multi.test BUG#38350: Many tests don't clean up after themselves on exit. 2008-11-13 20:19:00 +01:00
rpl_ndb_multi_update2-slave.opt WL#3933 Split main test suite to rpl, rpl_ndb and ndb 2007-06-27 14:28:02 +02:00
rpl_ndb_multi_update2.test Merge dl145h.mysql.com:/data0/mkindahl/mysql-5.1-main 2007-07-25 15:40:43 +02:00
rpl_ndb_multi_update3.test tests actually work in statement based 2007-09-05 18:44:47 +02:00
rpl_ndb_myisam2ndb-slave.opt BUG#29549 (Endians: test failures on Solaris): 2007-10-11 18:18:05 +02:00
rpl_ndb_myisam2ndb.test BUG#29549 (Endians: test failures on Solaris): 2007-10-11 18:18:05 +02:00
rpl_ndb_relayrotate-slave.opt WL#3933 Split main test suite to rpl, rpl_ndb and ndb 2007-06-27 14:28:02 +02:00
rpl_ndb_relayrotate.test Merge pilot.(none):/data/msvensson/mysql/wl3933/my51-wl3933-new2 2007-06-27 14:29:10 +02:00
rpl_ndb_rep_ignore-slave.opt WL#3933 Split main test suite to rpl, rpl_ndb and ndb 2007-06-27 14:28:02 +02:00
rpl_ndb_rep_ignore.test tests actually work in statement based 2007-09-05 18:44:47 +02:00
rpl_ndb_row_001.test tests actually work in statement based 2007-09-05 18:44:47 +02:00
rpl_ndb_set_null.test BUG#49481: RBR: MyISAM and bit fields may cause slave to stop on delete: 2010-01-21 17:20:24 +00:00
rpl_ndb_sp003.test tests actually work in statement based 2007-09-05 18:44:47 +02:00
rpl_ndb_sp006.test tests actually work in statement based 2007-09-05 18:44:47 +02:00
rpl_ndb_stm_innodb-master.opt Merge maint1.mysql.com:/data/localhome/tsmith/bk/51 2007-07-04 22:38:53 +02:00
rpl_ndb_stm_innodb.test Merge maint1.mysql.com:/data/localhome/tsmith/bk/51 2007-07-04 22:38:53 +02:00
rpl_ndb_sync.test WL#4189 2007-12-12 18:19:24 +01:00
rpl_ndb_trig004.test tests actually work in statement based 2007-09-05 18:44:47 +02:00
rpl_ndb_UUID.test Merge dl145h.mysql.com:/data0/mkindahl/mysql-5.1-main 2007-07-25 15:40:43 +02:00
rpl_ndbapi_multi.test WL#4189 2007-12-12 18:19:24 +01:00
rpl_row_basic_7ndb.test Merge dl145h.mysql.com:/data0/mkindahl/mysql-5.1-main 2007-07-25 15:40:43 +02:00
rpl_truncate_7ndb.test Merge pilot.(none):/data/msvensson/mysql/wl3933/my51-wl3933-new2 2007-06-27 14:29:10 +02:00
rpl_truncate_7ndb_2-master.opt Bug#39803 Test rpl.rpl_truncate_7ndb_2 failing 2008-09-15 15:13:43 -04:00
rpl_truncate_7ndb_2.test Bug#39803 Test rpl.rpl_truncate_7ndb_2 failing 2008-09-15 15:13:43 -04:00