From: Date: July 12 2007 9:19am Subject: bk commit into 5.1 tree (Justin.He:1.2538) BUG#19259 List-Archive: http://lists.mysql.com/commits/30758 X-Bug: 19259 Message-Id: <200707120719.l6C7JaNS013529@dev3-240.dev.cn.tlan> Below is the list of changes that have just been committed into a local 5.1 repository of justin.he. When justin.he does a push these changes will be propagated to the main repository and, within 24 hours after the push, to the public repository. For information on how to access the public repository see http://dev.mysql.com/doc/mysql/en/installing-source-tree.html ChangeSet@stripped, 2007-07-12 15:19:29+08:00, Justin.He@stripped +15 -0 Bug#19259 rpl_ndb_dd_partitions failed on Solaris Actually, this testcase will fail generally on all testing platforms. The bugs come from the inconsistent bitmap between rpl master and slave. In log_event.cc, the n_bits of m_cols and m_cols_ai are intialized with octal-ceiling m_width, in fact, their n_bits should be equal to m_width. Wrong n_bits will cause bitmap_bits_set() get incorrect value in unpack_row() in rpl_record.cc, then an assertion in unpack_row() will fail and crash sql thread. DBUG_ASSERT(null_ptr == row_data + master_null_byte_count); Meanwhile, because of binlog_prepare_pending_rows_event() changed with correct m_cols, some results of specific testcases should be updated: binlog_multi_engine.test ndb_binlog_multi.test rpl_ndb_dd_partitions.test rpl_ndb_log.test rpl_truncate_7ndb.test rpl_truncate_7ndb_2.test In addition, to ensure rows replication correct between master and slave after the patch, two 'select * from t1' are added in extra/rpl_tests/rpl_log.test, and some testcases include rpl_log.test, therefore, the results of these testcases should be updated likewise: rpl_stm_log.test rpl_row_log.test rpl_ndb_log.test rpl_row_log_innodb.test Totally, results of nine testcases are updated. include/my_bitmap.h@stripped, 2007-07-12 15:19:24+08:00, Justin.He@stripped +1 -0 add declaration for create_last_word_mask(), since we need to use it in log_event.cc mysql-test/extra/rpl_tests/rpl_log.test@stripped, 2007-07-12 15:19:24+08:00, Justin.He@stripped +6 -0 add 'select * from t1' both on master and slave to ensure the replication consistent after patched mysql-test/r/binlog_multi_engine.result@stripped, 2007-07-12 15:19:24+08:00, Justin.He@stripped +0 -2 update result the following is commented by Andrei, The differences can be explained. Look at lines of THD::binlog_prepare_pending_rows_event if (!pending) ... !bitmap_cmp(pending->get_cols(), cols)) The row event disappears because after correcting master side Write_rows_log_event's m_col bitmap initialization, this event has the same m_cols as the preceding one and thereafter they got glued into one bigger size event. This is the correct behaviour now. mysql-test/r/ndb_binlog_multi.result@stripped, 2007-07-12 15:19:24+08:00, Justin.He@stripped +0 -4 update result same reason with binlog_multi_engine for Write_rows_log_event mysql-test/r/rpl_ndb_dd_partitions.result@stripped, 2007-07-12 15:19:24+08:00, Justin.He@stripped +22 -22 update result, reasons: 1. tablespace description format changed 2. hex(b1) from 1 to 0 because there is a update sentence in include/rpl_multi_engine3.inc UPDATE t1 SET b1 = 0, t="2006-02-22" WHERE id = 412; mysql-test/r/rpl_ndb_log.result@stripped, 2007-07-12 15:19:24+08:00, Justin.He@stripped +144 -5 update result Write_rows event disapper for same reason with binlog_multi_engine ; In addition, because add new select in extra/rpl_testsrpl_log.test, corresponding new results are accompanying. mysql-test/r/rpl_row_log.result@stripped, 2007-07-12 15:19:24+08:00, Justin.He@stripped +142 -0 because add new select in extra/rpl_testsrpl_log.test, corresponding new results are accompanying. mysql-test/r/rpl_row_log_innodb.result@stripped, 2007-07-12 15:19:25+08:00, Justin.He@stripped +142 -0 because add new select in extra/rpl_testsrpl_log.test, corresponding new results are accompanying. mysql-test/r/rpl_stm_log.result@stripped, 2007-07-12 15:19:25+08:00, Justin.He@stripped +142 -0 because add new select in extra/rpl_testsrpl_log.test, corresponding new results are accompanying. mysql-test/r/rpl_truncate_7ndb.result@stripped, 2007-07-12 15:19:25+08:00, Justin.He@stripped +22 -26 update result same reason with binlog_multi_engine for Write_rows_log_event mysql-test/r/rpl_truncate_7ndb_2.result@stripped, 2007-07-12 15:19:25+08:00, Justin.He@stripped +34 -34 update result same reason with binlog_multi_engine for Write_rows_log_event And for the change -master-bin.000001 4 Format_desc 1 102 Server ver: SERVER_VERSION, Binlog ver: 4 +master-bin.000001 4 Format_desc 1 106 Server ver: SERVER_VERSION, Binlog ver It's okay as FormatDescription event matured for 4 bytes since the last time the results had been recorded. mysql-test/t/disabled.def@stripped, 2007-07-12 15:19:25+08:00, Justin.He@stripped +0 -1 resume this test case mysql-test/t/rpl_ndb_dd_partitions-master.opt@stripped, 2007-07-12 15:19:25+08:00, Justin.He@stripped +1 -0 add --new=true passed to mysqld mysql-test/t/rpl_ndb_dd_partitions-master.opt@stripped, 2007-07-12 15:19:25+08:00, Justin.He@stripped +0 -0 mysql-test/t/rpl_ndb_dd_partitions-slave.opt@stripped, 2007-07-12 15:19:25+08:00, Justin.He@stripped +1 -0 add --new=true passed to mysqld mysql-test/t/rpl_ndb_dd_partitions-slave.opt@stripped, 2007-07-12 15:19:25+08:00, Justin.He@stripped +0 -0 sql/log_event.cc@stripped, 2007-07-12 15:19:25+08:00, Justin.He@stripped +12 -4 initialize m_cols' n_bits with m_width instead of octal-round(m_width); initialize m_cols_ai' n_bits with m_width instead of octal-round(m_width); after memcpy(), call create_last_word_mask() to clear extra bits in bitmap to ensure safety diff -Nrup a/include/my_bitmap.h b/include/my_bitmap.h --- a/include/my_bitmap.h 2006-12-24 03:19:44 +08:00 +++ b/include/my_bitmap.h 2007-07-12 15:19:24 +08:00 @@ -41,6 +41,7 @@ typedef struct st_bitmap #ifdef __cplusplus extern "C" { #endif +extern void create_last_word_mask(MY_BITMAP *map); extern my_bool bitmap_init(MY_BITMAP *map, my_bitmap_map *buf, uint n_bits, my_bool thread_safe); extern my_bool bitmap_is_clear_all(const MY_BITMAP *map); diff -Nrup a/mysql-test/extra/rpl_tests/rpl_log.test b/mysql-test/extra/rpl_tests/rpl_log.test --- a/mysql-test/extra/rpl_tests/rpl_log.test 2007-06-19 05:51:07 +08:00 +++ b/mysql-test/extra/rpl_tests/rpl_log.test 2007-07-12 15:19:24 +08:00 @@ -70,6 +70,10 @@ eval create table t3 (a int)ENGINE=$engi # Sync slave and force it to start on another binary log +#show rows of t1 on master +connection master; +select * from t1 order by 1 asc; + save_master_pos; connection slave; # Note that the above 'slave start' will cause a 3rd rotate event (a fake one) @@ -79,6 +83,8 @@ start slave; let $result_pattern= '%127.0.0.1%root%master-bin.000002%slave-relay-bin.000005%Yes%Yes%0%0%None%'; --source include/wait_slave_status.inc sync_with_master; +#check t1 on slave to ensure whether it's identical with on master +select * from t1 order by 1 asc; flush logs; stop slave; connection master; diff -Nrup a/mysql-test/r/binlog_multi_engine.result b/mysql-test/r/binlog_multi_engine.result --- a/mysql-test/r/binlog_multi_engine.result 2007-06-28 06:49:43 +08:00 +++ b/mysql-test/r/binlog_multi_engine.result 2007-07-12 15:19:24 +08:00 @@ -57,7 +57,6 @@ master-bin.000001 # Query # # BEGIN master-bin.000001 # Table_map # # table_id: # (test.t1n) master-bin.000001 # Table_map # # table_id: # (mysql.ndb_apply_status) master-bin.000001 # Write_rows # # table_id: # -master-bin.000001 # Write_rows # # table_id: # master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F master-bin.000001 # Query # # COMMIT master-bin.000001 # Query # # use `test`; TRUNCATE t1n @@ -80,7 +79,6 @@ master-bin.000001 # Write_rows # # table master-bin.000001 # Query # # BEGIN master-bin.000001 # Table_map # # table_id: # (test.t1n) master-bin.000001 # Table_map # # table_id: # (mysql.ndb_apply_status) -master-bin.000001 # Write_rows # # table_id: # master-bin.000001 # Write_rows # # table_id: # master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F master-bin.000001 # Query # # COMMIT diff -Nrup a/mysql-test/r/ndb_binlog_multi.result b/mysql-test/r/ndb_binlog_multi.result --- a/mysql-test/r/ndb_binlog_multi.result 2007-04-18 22:02:18 +08:00 +++ b/mysql-test/r/ndb_binlog_multi.result 2007-07-12 15:19:24 +08:00 @@ -13,7 +13,6 @@ master-bin1.000001 # Query 102 # BEGIN master-bin1.000001 # Table_map 102 # table_id: # (test.t2) master-bin1.000001 # Table_map 102 # table_id: # (mysql.ndb_apply_status) master-bin1.000001 # Write_rows 102 # table_id: # -master-bin1.000001 # Write_rows 102 # table_id: # master-bin1.000001 # Write_rows 102 # table_id: # flags: STMT_END_F master-bin1.000001 # Query 102 # COMMIT select * from t2 order by a; @@ -36,7 +35,6 @@ master-bin.000001 # Query 1 # BEGIN master-bin.000001 # Table_map 1 # table_id: # (test.t2) master-bin.000001 # Table_map 1 # table_id: # (mysql.ndb_apply_status) master-bin.000001 # Write_rows 1 # table_id: # -master-bin.000001 # Write_rows 1 # table_id: # master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F master-bin.000001 # Query 1 # COMMIT master-bin.000001 # Query 1 # use `test`; DROP TABLE t2 @@ -55,7 +53,6 @@ master-bin1.000001 # Query 102 # BEGIN master-bin1.000001 # Table_map 102 # table_id: # (test.t1) master-bin1.000001 # Table_map 102 # table_id: # (mysql.ndb_apply_status) master-bin1.000001 # Write_rows 102 # table_id: # -master-bin1.000001 # Write_rows 102 # table_id: # master-bin1.000001 # Write_rows 102 # table_id: # flags: STMT_END_F master-bin1.000001 # Query 102 # COMMIT SELECT @the_epoch2:=epoch,inserts,updates,deletes,schemaops FROM @@ -73,7 +70,6 @@ master-bin1.000001 # Query 102 # use `te master-bin1.000001 # Query 102 # BEGIN master-bin1.000001 # Table_map 102 # table_id: # (test.t1) master-bin1.000001 # Table_map 102 # table_id: # (mysql.ndb_apply_status) -master-bin1.000001 # Write_rows 102 # table_id: # master-bin1.000001 # Write_rows 102 # table_id: # master-bin1.000001 # Write_rows 102 # table_id: # flags: STMT_END_F master-bin1.000001 # Query 102 # COMMIT diff -Nrup a/mysql-test/r/rpl_ndb_dd_partitions.result b/mysql-test/r/rpl_ndb_dd_partitions.result --- a/mysql-test/r/rpl_ndb_dd_partitions.result 2006-06-28 00:43:57 +08:00 +++ b/mysql-test/r/rpl_ndb_dd_partitions.result 2007-07-12 15:19:24 +08:00 @@ -52,7 +52,7 @@ t1 CREATE TABLE `t1` ( `total` bigint(20) unsigned DEFAULT NULL, `y` year(4) DEFAULT NULL, `t` date DEFAULT NULL -) TABLESPACE ts1 STORAGE DISK ENGINE=ndbcluster DEFAULT CHARSET=latin1 PARTITION BY RANGE (YEAR(t)) (PARTITION p0 VALUES LESS THAN (1901) ENGINE = ndbcluster, PARTITION p1 VALUES LESS THAN (1946) ENGINE = ndbcluster, PARTITION p2 VALUES LESS THAN (1966) ENGINE = ndbcluster, PARTITION p3 VALUES LESS THAN (1986) ENGINE = ndbcluster, PARTITION p4 VALUES LESS THAN (2005) ENGINE = ndbcluster, PARTITION p5 VALUES LESS THAN MAXVALUE ENGINE = ndbcluster) +) /*!50100 TABLESPACE ts1 STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (YEAR(t)) (PARTITION p0 VALUES LESS THAN (1901) ENGINE = ndbcluster, PARTITION p1 VALUES LESS THAN (1946) ENGINE = ndbcluster, PARTITION p2 VALUES LESS THAN (1966) ENGINE = ndbcluster, PARTITION p3 VALUES LESS THAN (1986) ENGINE = ndbcluster, PARTITION p4 VALUES LESS THAN (2005) ENGINE = ndbcluster, PARTITION p5 VALUES LESS THAN MAXVALUE ENGINE = ndbcluster) */ --- Show table on slave -- SHOW CREATE TABLE t1; Table Create Table @@ -66,7 +66,7 @@ t1 CREATE TABLE `t1` ( `total` bigint(20) unsigned DEFAULT NULL, `y` year(4) DEFAULT NULL, `t` date DEFAULT NULL -) TABLESPACE ts1 STORAGE DISK ENGINE=ndbcluster DEFAULT CHARSET=latin1 PARTITION BY RANGE (YEAR(t)) (PARTITION p0 VALUES LESS THAN (1901) ENGINE = ndbcluster, PARTITION p1 VALUES LESS THAN (1946) ENGINE = ndbcluster, PARTITION p2 VALUES LESS THAN (1966) ENGINE = ndbcluster, PARTITION p3 VALUES LESS THAN (1986) ENGINE = ndbcluster, PARTITION p4 VALUES LESS THAN (2005) ENGINE = ndbcluster, PARTITION p5 VALUES LESS THAN MAXVALUE ENGINE = ndbcluster) +) /*!50100 TABLESPACE ts1 STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (YEAR(t)) (PARTITION p0 VALUES LESS THAN (1901) ENGINE = ndbcluster, PARTITION p1 VALUES LESS THAN (1946) ENGINE = ndbcluster, PARTITION p2 VALUES LESS THAN (1966) ENGINE = ndbcluster, PARTITION p3 VALUES LESS THAN (1986) ENGINE = ndbcluster, PARTITION p4 VALUES LESS THAN (2005) ENGINE = ndbcluster, PARTITION p5 VALUES LESS THAN MAXVALUE ENGINE = ndbcluster) */ --- Perform basic operation on master --- --- and ensure replicated correctly --- "--- Insert into t1 --" as ""; @@ -122,7 +122,7 @@ t1 CREATE TABLE `t1` ( `total` bigint(20) unsigned DEFAULT NULL, `y` year(4) DEFAULT NULL, `t` date DEFAULT NULL -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 PARTITION BY RANGE (YEAR(t)) (PARTITION p0 VALUES LESS THAN (1901) ENGINE = ndbcluster, PARTITION p1 VALUES LESS THAN (1946) ENGINE = ndbcluster, PARTITION p2 VALUES LESS THAN (1966) ENGINE = ndbcluster, PARTITION p3 VALUES LESS THAN (1986) ENGINE = ndbcluster, PARTITION p4 VALUES LESS THAN (2005) ENGINE = ndbcluster, PARTITION p5 VALUES LESS THAN MAXVALUE ENGINE = ndbcluster) +) /*!50100 TABLESPACE ts1 STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (YEAR(t)) (PARTITION p0 VALUES LESS THAN (1901) ENGINE = ndbcluster, PARTITION p1 VALUES LESS THAN (1946) ENGINE = ndbcluster, PARTITION p2 VALUES LESS THAN (1966) ENGINE = ndbcluster, PARTITION p3 VALUES LESS THAN (1986) ENGINE = ndbcluster, PARTITION p4 VALUES LESS THAN (2005) ENGINE = ndbcluster, PARTITION p5 VALUES LESS THAN MAXVALUE ENGINE = ndbcluster) */ --- Make sure that our tables on slave are still same engine --- --- and that the alter statements replicated correctly --- SHOW CREATE TABLE t1; @@ -137,7 +137,7 @@ t1 CREATE TABLE `t1` ( `total` bigint(20) unsigned DEFAULT NULL, `y` year(4) DEFAULT NULL, `t` date DEFAULT NULL -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 PARTITION BY RANGE (YEAR(t)) (PARTITION p0 VALUES LESS THAN (1901) ENGINE = ndbcluster, PARTITION p1 VALUES LESS THAN (1946) ENGINE = ndbcluster, PARTITION p2 VALUES LESS THAN (1966) ENGINE = ndbcluster, PARTITION p3 VALUES LESS THAN (1986) ENGINE = ndbcluster, PARTITION p4 VALUES LESS THAN (2005) ENGINE = ndbcluster, PARTITION p5 VALUES LESS THAN MAXVALUE ENGINE = ndbcluster) +) /*!50100 TABLESPACE ts1 STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (YEAR(t)) (PARTITION p0 VALUES LESS THAN (1901) ENGINE = ndbcluster, PARTITION p1 VALUES LESS THAN (1946) ENGINE = ndbcluster, PARTITION p2 VALUES LESS THAN (1966) ENGINE = ndbcluster, PARTITION p3 VALUES LESS THAN (1986) ENGINE = ndbcluster, PARTITION p4 VALUES LESS THAN (2005) ENGINE = ndbcluster, PARTITION p5 VALUES LESS THAN MAXVALUE ENGINE = ndbcluster) */ --- Perform basic operation on master --- --- and ensure replicated correctly --- "--- Insert into t1 --" as ""; @@ -207,7 +207,7 @@ t1 CREATE TABLE `t1` ( `total` bigint(20) unsigned DEFAULT NULL, `y` year(4) DEFAULT NULL, `t` date DEFAULT NULL -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 PARTITION BY LIST (id) (PARTITION p0 VALUES IN (2,4) ENGINE = ndbcluster, PARTITION p1 VALUES IN (42,142) ENGINE = ndbcluster, PARTITION p2 VALUES IN (412) ENGINE = ndbcluster) +) /*!50100 TABLESPACE ts1 STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (id) (PARTITION p0 VALUES IN (2,4) ENGINE = ndbcluster, PARTITION p1 VALUES IN (42,142) ENGINE = ndbcluster, PARTITION p2 VALUES IN (412) ENGINE = ndbcluster) */ --- Show table on slave --- SHOW CREATE TABLE t1; Table Create Table @@ -221,7 +221,7 @@ t1 CREATE TABLE `t1` ( `total` bigint(20) unsigned DEFAULT NULL, `y` year(4) DEFAULT NULL, `t` date DEFAULT NULL -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 PARTITION BY LIST (id) (PARTITION p0 VALUES IN (2,4) ENGINE = ndbcluster, PARTITION p1 VALUES IN (42,142) ENGINE = ndbcluster, PARTITION p2 VALUES IN (412) ENGINE = ndbcluster) +) /*!50100 TABLESPACE ts1 STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (id) (PARTITION p0 VALUES IN (2,4) ENGINE = ndbcluster, PARTITION p1 VALUES IN (42,142) ENGINE = ndbcluster, PARTITION p2 VALUES IN (412) ENGINE = ndbcluster) */ --- Perform basic operation on master --- --- and ensure replicated correctly --- "--- Insert into t1 --" as ""; @@ -277,7 +277,7 @@ t1 CREATE TABLE `t1` ( `total` bigint(20) unsigned DEFAULT NULL, `y` year(4) DEFAULT NULL, `t` date DEFAULT NULL -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 PARTITION BY LIST (id) (PARTITION p0 VALUES IN (2,4) ENGINE = ndbcluster, PARTITION p1 VALUES IN (42,142) ENGINE = ndbcluster, PARTITION p2 VALUES IN (412) ENGINE = ndbcluster) +) /*!50100 TABLESPACE ts1 STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (id) (PARTITION p0 VALUES IN (2,4) ENGINE = ndbcluster, PARTITION p1 VALUES IN (42,142) ENGINE = ndbcluster, PARTITION p2 VALUES IN (412) ENGINE = ndbcluster) */ --- Make sure that our tables on slave are still same engine --- --- and that the alter statements replicated correctly --- SHOW CREATE TABLE t1; @@ -292,7 +292,7 @@ t1 CREATE TABLE `t1` ( `total` bigint(20) unsigned DEFAULT NULL, `y` year(4) DEFAULT NULL, `t` date DEFAULT NULL -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 PARTITION BY LIST (id) (PARTITION p0 VALUES IN (2,4) ENGINE = ndbcluster, PARTITION p1 VALUES IN (42,142) ENGINE = ndbcluster, PARTITION p2 VALUES IN (412) ENGINE = ndbcluster) +) /*!50100 TABLESPACE ts1 STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (id) (PARTITION p0 VALUES IN (2,4) ENGINE = ndbcluster, PARTITION p1 VALUES IN (42,142) ENGINE = ndbcluster, PARTITION p2 VALUES IN (412) ENGINE = ndbcluster) */ --- Perform basic operation on master --- --- and ensure replicated correctly --- "--- Insert into t1 --" as ""; @@ -359,7 +359,7 @@ t1 CREATE TABLE `t1` ( `total` bigint(20) unsigned DEFAULT NULL, `y` year(4) DEFAULT NULL, `t` date DEFAULT NULL -) TABLESPACE ts1 STORAGE DISK ENGINE=ndbcluster DEFAULT CHARSET=latin1 PARTITION BY HASH ( YEAR(t)) PARTITIONS 4 +) /*!50100 TABLESPACE ts1 STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH ( YEAR(t)) PARTITIONS 4 */ SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( @@ -372,7 +372,7 @@ t1 CREATE TABLE `t1` ( `total` bigint(20) unsigned DEFAULT NULL, `y` year(4) DEFAULT NULL, `t` date DEFAULT NULL -) TABLESPACE ts1 STORAGE DISK ENGINE=ndbcluster DEFAULT CHARSET=latin1 PARTITION BY HASH ( YEAR(t)) PARTITIONS 4 +) /*!50100 TABLESPACE ts1 STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH ( YEAR(t)) PARTITIONS 4 */ --- Perform basic operation on master --- --- and ensure replicated correctly --- "--- Insert into t1 --" as ""; @@ -397,11 +397,11 @@ UPDATE t1 SET b1 = 0, t="2006-02-22" WHE --- Check the update on master --- SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412; id hex(b1) vc bc d f total y t -412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22 +412 0 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22 --- Check Update on slave --- SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412; id hex(b1) vc bc d f total y t -412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22 +412 0 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22 --- Remove a record from t1 on master --- DELETE FROM t1 WHERE id = 42; --- Show current count on master for t1 --- @@ -428,7 +428,7 @@ t1 CREATE TABLE `t1` ( `total` bigint(20) unsigned DEFAULT NULL, `y` year(4) DEFAULT NULL, `t` date DEFAULT NULL -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 PARTITION BY HASH ( YEAR(t)) PARTITIONS 4 +) /*!50100 TABLESPACE ts1 STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH ( YEAR(t)) PARTITIONS 4 */ --- Make sure that our tables on slave are still same engine --- --- and that the alter statements replicated correctly --- SHOW CREATE TABLE t1; @@ -443,7 +443,7 @@ t1 CREATE TABLE `t1` ( `total` bigint(20) unsigned DEFAULT NULL, `y` year(4) DEFAULT NULL, `t` date DEFAULT NULL -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 PARTITION BY HASH ( YEAR(t)) PARTITIONS 4 +) /*!50100 TABLESPACE ts1 STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY HASH ( YEAR(t)) PARTITIONS 4 */ --- Perform basic operation on master --- --- and ensure replicated correctly --- "--- Insert into t1 --" as ""; @@ -468,11 +468,11 @@ UPDATE t1 SET b1 = 0, t="2006-02-22" WHE --- Check the update on master --- SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412; id hex(b1) vc bc d f total y t -412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22 +412 0 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22 --- Check Update on slave --- SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412; id hex(b1) vc bc d f total y t -412 1 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22 +412 0 Testing MySQL databases is a cool Must make it bug free for the customer 654321.4321 15.21 0 1965 2006-02-22 --- Remove a record from t1 on master --- DELETE FROM t1 WHERE id = 42; --- Show current count on master for t1 --- @@ -511,7 +511,7 @@ t1 CREATE TABLE `t1` ( `y` year(4) DEFAULT NULL, `t` date DEFAULT NULL, PRIMARY KEY (`id`) -) TABLESPACE ts1 STORAGE DISK ENGINE=ndbcluster DEFAULT CHARSET=latin1 PARTITION BY KEY () PARTITIONS 4 +) /*!50100 TABLESPACE ts1 STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY () PARTITIONS 4 */ --- Show that tables on slave --- SHOW CREATE TABLE t1; Table Create Table @@ -526,7 +526,7 @@ t1 CREATE TABLE `t1` ( `y` year(4) DEFAULT NULL, `t` date DEFAULT NULL, PRIMARY KEY (`id`) -) TABLESPACE ts1 STORAGE DISK ENGINE=ndbcluster DEFAULT CHARSET=latin1 PARTITION BY KEY () PARTITIONS 4 +) /*!50100 TABLESPACE ts1 STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY () PARTITIONS 4 */ --- Perform basic operation on master --- --- and ensure replicated correctly --- "--- Insert into t1 --" as ""; @@ -583,7 +583,7 @@ t1 CREATE TABLE `t1` ( `y` year(4) DEFAULT NULL, `t` date DEFAULT NULL, PRIMARY KEY (`id`,`total`) -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 PARTITION BY KEY () PARTITIONS 4 +) /*!50100 TABLESPACE ts1 STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY () PARTITIONS 4 */ --- Make sure that our tables on slave are still right type --- --- and that the alter statements replicated correctly --- SHOW CREATE TABLE t1; @@ -599,7 +599,7 @@ t1 CREATE TABLE `t1` ( `y` year(4) DEFAULT NULL, `t` date DEFAULT NULL, PRIMARY KEY (`id`,`total`) -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 PARTITION BY KEY () PARTITIONS 4 +) /*!50100 TABLESPACE ts1 STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY () PARTITIONS 4 */ --- Perform basic operation on master --- --- and ensure replicated correctly --- "--- Insert into t1 --" as ""; @@ -656,7 +656,7 @@ t1 CREATE TABLE `t1` ( `y` year(4) DEFAULT NULL, `t` date DEFAULT NULL, PRIMARY KEY (`id`,`total`) -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 PARTITION BY KEY () PARTITIONS 4 +) /*!50100 TABLESPACE ts1 STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY () PARTITIONS 4 */ --- Make sure that our tables on slave are still same engine --- --- and that the alter statements replicated correctly --- SHOW CREATE TABLE t1; @@ -672,7 +672,7 @@ t1 CREATE TABLE `t1` ( `y` year(4) DEFAULT NULL, `t` date DEFAULT NULL, PRIMARY KEY (`id`,`total`) -) ENGINE=ndbcluster DEFAULT CHARSET=latin1 PARTITION BY KEY () PARTITIONS 4 +) /*!50100 TABLESPACE ts1 STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY () PARTITIONS 4 */ --- Perform basic operation on master --- --- and ensure replicated correctly --- "--- Insert into t1 --" as ""; diff -Nrup a/mysql-test/r/rpl_ndb_log.result b/mysql-test/r/rpl_ndb_log.result --- a/mysql-test/r/rpl_ndb_log.result 2007-06-12 04:15:20 +08:00 +++ b/mysql-test/r/rpl_ndb_log.result 2007-07-12 15:19:24 +08:00 @@ -32,7 +32,6 @@ master-bin.000001 # Query 1 # BEGIN master-bin.000001 # Table_map 1 # table_id: # (test.t1) master-bin.000001 # Table_map 1 # table_id: # (mysql.ndb_apply_status) master-bin.000001 # Write_rows 1 # table_id: # -master-bin.000001 # Write_rows 1 # table_id: # master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F master-bin.000001 # Query 1 # COMMIT show binlog events from 106 limit 1; @@ -47,11 +46,153 @@ Log_name Pos Event_type Server_id End_lo master-bin.000001 # Table_map 1 # table_id: # (test.t1) flush logs; create table t3 (a int)ENGINE=NDB; +select * from t1 order by 1 asc; +word +Aarhus +Aaron +Aaron +Ababa +Ababa +aback +aback +abaft +abaft +abandon +abandon +abandoned +abandoned +abandoning +abandoning +abandonment +abandonment +abandons +abandons +abase +abased +abasement +abasements +abases +abash +abashed +abashes +abashing +abasing +abate +abated +abatement +abatements +abater +abates +abating +Abba +abbe +abbey +abbeys +abbot +abbots +Abbott +abbreviate +abbreviated +abbreviates +abbreviating +abbreviation +abbreviations +Abby +abdomen +abdomens +abdominal +abduct +abducted +abduction +abductions +abductor +abductors +abducts +Abe +abed +Abel +Abelian +Abelson +Aberdeen +Abernathy +aberrant +aberration start slave; let $result_pattern= '%127.0.0.1%root%master-bin.000002%slave-relay-bin.000005%Yes%Yes%0%0%None%' ; --source include/wait_slave_status.inc +select * from t1 order by 1 asc; +word +Aarhus +Aaron +Aaron +Ababa +Ababa +aback +aback +abaft +abaft +abandon +abandon +abandoned +abandoned +abandoning +abandoning +abandonment +abandonment +abandons +abandons +abase +abased +abasement +abasements +abases +abash +abashed +abashes +abashing +abasing +abate +abated +abatement +abatements +abater +abates +abating +Abba +abbe +abbey +abbeys +abbot +abbots +Abbott +abbreviate +abbreviated +abbreviates +abbreviating +abbreviation +abbreviations +Abby +abdomen +abdomens +abdominal +abduct +abducted +abduction +abductions +abductor +abductors +abducts +Abe +abed +Abel +Abelian +Abelson +Aberdeen +Abernathy +aberrant +aberration flush logs; stop slave; create table t2 (n int)ENGINE=NDB; @@ -71,7 +212,6 @@ master-bin.000001 # Query # # BEGIN master-bin.000001 # Table_map # # table_id: # (test.t1) master-bin.000001 # Table_map # # table_id: # (mysql.ndb_apply_status) master-bin.000001 # Write_rows # # table_id: # -master-bin.000001 # Write_rows # # table_id: # master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F master-bin.000001 # Query # # COMMIT master-bin.000001 # Rotate # # master-bin.000002;pos=4 @@ -88,12 +228,12 @@ master-bin.000002 # Write_rows 1 # table master-bin.000002 # Query 1 # COMMIT show binary logs; Log_name File_size -master-bin.000001 1775 +master-bin.000001 1746 master-bin.000002 617 start slave; show binary logs; Log_name File_size -slave-bin.000001 1870 +slave-bin.000001 1841 slave-bin.000002 202 show binlog events in 'slave-bin.000001' from 4; Log_name Pos Event_type Server_id End_log_pos Info @@ -111,7 +251,6 @@ slave-bin.000001 # Query 2 # BEGIN slave-bin.000001 # Table_map 2 # table_id: # (test.t1) slave-bin.000001 # Table_map 2 # table_id: # (mysql.ndb_apply_status) slave-bin.000001 # Write_rows 2 # table_id: # -slave-bin.000001 # Write_rows 1 # table_id: # slave-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F slave-bin.000001 # Query 2 # COMMIT slave-bin.000001 # Query 1 # use `test`; create table t3 (a int)ENGINE=NDB diff -Nrup a/mysql-test/r/rpl_row_log.result b/mysql-test/r/rpl_row_log.result --- a/mysql-test/r/rpl_row_log.result 2007-06-12 04:15:21 +08:00 +++ b/mysql-test/r/rpl_row_log.result 2007-07-12 15:19:24 +08:00 @@ -38,11 +38,153 @@ Log_name Pos Event_type Server_id End_lo master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F flush logs; create table t3 (a int)ENGINE=MyISAM; +select * from t1 order by 1 asc; +word +Aarhus +Aaron +Aaron +Ababa +Ababa +aback +aback +abaft +abaft +abandon +abandon +abandoned +abandoned +abandoning +abandoning +abandonment +abandonment +abandons +abandons +abase +abased +abasement +abasements +abases +abash +abashed +abashes +abashing +abasing +abate +abated +abatement +abatements +abater +abates +abating +Abba +abbe +abbey +abbeys +abbot +abbots +Abbott +abbreviate +abbreviated +abbreviates +abbreviating +abbreviation +abbreviations +Abby +abdomen +abdomens +abdominal +abduct +abducted +abduction +abductions +abductor +abductors +abducts +Abe +abed +Abel +Abelian +Abelson +Aberdeen +Abernathy +aberrant +aberration start slave; let $result_pattern= '%127.0.0.1%root%master-bin.000002%slave-relay-bin.000005%Yes%Yes%0%0%None%' ; --source include/wait_slave_status.inc +select * from t1 order by 1 asc; +word +Aarhus +Aaron +Aaron +Ababa +Ababa +aback +aback +abaft +abaft +abandon +abandon +abandoned +abandoned +abandoning +abandoning +abandonment +abandonment +abandons +abandons +abase +abased +abasement +abasements +abases +abash +abashed +abashes +abashing +abasing +abate +abated +abatement +abatements +abater +abates +abating +Abba +abbe +abbey +abbeys +abbot +abbots +Abbott +abbreviate +abbreviated +abbreviates +abbreviating +abbreviation +abbreviations +Abby +abdomen +abdomens +abdominal +abduct +abducted +abduction +abductions +abductor +abductors +abducts +Abe +abed +Abel +Abelian +Abelson +Aberdeen +Abernathy +aberrant +aberration flush logs; stop slave; create table t2 (n int)ENGINE=MyISAM; diff -Nrup a/mysql-test/r/rpl_row_log_innodb.result b/mysql-test/r/rpl_row_log_innodb.result --- a/mysql-test/r/rpl_row_log_innodb.result 2007-06-12 04:15:21 +08:00 +++ b/mysql-test/r/rpl_row_log_innodb.result 2007-07-12 15:19:25 +08:00 @@ -40,11 +40,153 @@ Log_name Pos Event_type Server_id End_lo master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F flush logs; create table t3 (a int)ENGINE=InnoDB; +select * from t1 order by 1 asc; +word +Aarhus +Aaron +Aaron +Ababa +Ababa +aback +aback +abaft +abaft +abandon +abandon +abandoned +abandoned +abandoning +abandoning +abandonment +abandonment +abandons +abandons +abase +abased +abasement +abasements +abases +abash +abashed +abashes +abashing +abasing +abate +abated +abatement +abatements +abater +abates +abating +Abba +abbe +abbey +abbeys +abbot +abbots +Abbott +abbreviate +abbreviated +abbreviates +abbreviating +abbreviation +abbreviations +Abby +abdomen +abdomens +abdominal +abduct +abducted +abduction +abductions +abductor +abductors +abducts +Abe +abed +Abel +Abelian +Abelson +Aberdeen +Abernathy +aberrant +aberration start slave; let $result_pattern= '%127.0.0.1%root%master-bin.000002%slave-relay-bin.000005%Yes%Yes%0%0%None%' ; --source include/wait_slave_status.inc +select * from t1 order by 1 asc; +word +Aarhus +Aaron +Aaron +Ababa +Ababa +aback +aback +abaft +abaft +abandon +abandon +abandoned +abandoned +abandoning +abandoning +abandonment +abandonment +abandons +abandons +abase +abased +abasement +abasements +abases +abash +abashed +abashes +abashing +abasing +abate +abated +abatement +abatements +abater +abates +abating +Abba +abbe +abbey +abbeys +abbot +abbots +Abbott +abbreviate +abbreviated +abbreviates +abbreviating +abbreviation +abbreviations +Abby +abdomen +abdomens +abdominal +abduct +abducted +abduction +abductions +abductor +abductors +abducts +Abe +abed +Abel +Abelian +Abelson +Aberdeen +Abernathy +aberrant +aberration flush logs; stop slave; create table t2 (n int)ENGINE=InnoDB; diff -Nrup a/mysql-test/r/rpl_stm_log.result b/mysql-test/r/rpl_stm_log.result --- a/mysql-test/r/rpl_stm_log.result 2007-06-12 04:15:24 +08:00 +++ b/mysql-test/r/rpl_stm_log.result 2007-07-12 15:19:25 +08:00 @@ -38,11 +38,153 @@ Log_name Pos Event_type Server_id End_lo master-bin.000001 # Query 1 # use `test`; insert into t1 values (NULL) flush logs; create table t3 (a int)ENGINE=MyISAM; +select * from t1 order by 1 asc; +word +Aarhus +Aaron +Aaron +Ababa +Ababa +aback +aback +abaft +abaft +abandon +abandon +abandoned +abandoned +abandoning +abandoning +abandonment +abandonment +abandons +abandons +abase +abased +abasement +abasements +abases +abash +abashed +abashes +abashing +abasing +abate +abated +abatement +abatements +abater +abates +abating +Abba +abbe +abbey +abbeys +abbot +abbots +Abbott +abbreviate +abbreviated +abbreviates +abbreviating +abbreviation +abbreviations +Abby +abdomen +abdomens +abdominal +abduct +abducted +abduction +abductions +abductor +abductors +abducts +Abe +abed +Abel +Abelian +Abelson +Aberdeen +Abernathy +aberrant +aberration start slave; let $result_pattern= '%127.0.0.1%root%master-bin.000002%slave-relay-bin.000005%Yes%Yes%0%0%None%' ; --source include/wait_slave_status.inc +select * from t1 order by 1 asc; +word +Aarhus +Aaron +Aaron +Ababa +Ababa +aback +aback +abaft +abaft +abandon +abandon +abandoned +abandoned +abandoning +abandoning +abandonment +abandonment +abandons +abandons +abase +abased +abasement +abasements +abases +abash +abashed +abashes +abashing +abasing +abate +abated +abatement +abatements +abater +abates +abating +Abba +abbe +abbey +abbeys +abbot +abbots +Abbott +abbreviate +abbreviated +abbreviates +abbreviating +abbreviation +abbreviations +Abby +abdomen +abdomens +abdominal +abduct +abducted +abduction +abductions +abductor +abductors +abducts +Abe +abed +Abel +Abelian +Abelson +Aberdeen +Abernathy +aberrant +aberration flush logs; stop slave; create table t2 (n int)ENGINE=MyISAM; diff -Nrup a/mysql-test/r/rpl_truncate_7ndb.result b/mysql-test/r/rpl_truncate_7ndb.result --- a/mysql-test/r/rpl_truncate_7ndb.result 2007-03-30 10:44:45 +08:00 +++ b/mysql-test/r/rpl_truncate_7ndb.result 2007-07-12 15:19:25 +08:00 @@ -35,11 +35,10 @@ master-bin.000001 223 Query 1 287 BEGIN master-bin.000001 287 Table_map 1 40 table_id: # (test.t1) master-bin.000001 327 Table_map 1 98 table_id: # (mysql.ndb_apply_status) master-bin.000001 385 Write_rows 1 157 table_id: # -master-bin.000001 444 Write_rows 1 195 table_id: # -master-bin.000001 482 Write_rows 1 233 table_id: # flags: STMT_END_F -master-bin.000001 520 Query 1 585 COMMIT -master-bin.000001 585 Query 1 665 use `test`; TRUNCATE TABLE t1 -master-bin.000001 665 Query 1 741 use `test`; DROP TABLE t1 +master-bin.000001 444 Write_rows 1 204 table_id: # flags: STMT_END_F +master-bin.000001 491 Query 1 556 COMMIT +master-bin.000001 556 Query 1 636 use `test`; TRUNCATE TABLE t1 +master-bin.000001 636 Query 1 712 use `test`; DROP TABLE t1 **** On Master **** CREATE TABLE t1 (a INT PRIMARY KEY, b LONG) ENGINE=NDB; INSERT INTO t1 VALUES (1,1), (2,2); @@ -72,24 +71,21 @@ master-bin.000001 223 Query 1 287 BEGIN master-bin.000001 287 Table_map 1 40 table_id: # (test.t1) master-bin.000001 327 Table_map 1 98 table_id: # (mysql.ndb_apply_status) master-bin.000001 385 Write_rows 1 157 table_id: # -master-bin.000001 444 Write_rows 1 195 table_id: # -master-bin.000001 482 Write_rows 1 233 table_id: # flags: STMT_END_F -master-bin.000001 520 Query 1 585 COMMIT -master-bin.000001 585 Query 1 665 use `test`; TRUNCATE TABLE t1 -master-bin.000001 665 Query 1 741 use `test`; DROP TABLE t1 -master-bin.000001 741 Query 1 858 use `test`; CREATE TABLE t1 (a INT PRIMARY KEY, b LONG) ENGINE=NDB -master-bin.000001 858 Query 1 922 BEGIN -master-bin.000001 922 Table_map 1 40 table_id: # (test.t1) -master-bin.000001 962 Table_map 1 98 table_id: # (mysql.ndb_apply_status) -master-bin.000001 1020 Write_rows 1 157 table_id: # -master-bin.000001 1079 Write_rows 1 195 table_id: # -master-bin.000001 1117 Write_rows 1 233 table_id: # flags: STMT_END_F -master-bin.000001 1155 Query 1 1220 COMMIT -master-bin.000001 1220 Query 1 1284 BEGIN -master-bin.000001 1284 Table_map 1 40 table_id: # (test.t1) -master-bin.000001 1324 Table_map 1 98 table_id: # (mysql.ndb_apply_status) -master-bin.000001 1382 Write_rows 1 157 table_id: # -master-bin.000001 1441 Delete_rows 1 191 table_id: # -master-bin.000001 1475 Delete_rows 1 225 table_id: # flags: STMT_END_F -master-bin.000001 1509 Query 1 1574 COMMIT -master-bin.000001 1574 Query 1 1650 use `test`; DROP TABLE t1 +master-bin.000001 444 Write_rows 1 204 table_id: # flags: STMT_END_F +master-bin.000001 491 Query 1 556 COMMIT +master-bin.000001 556 Query 1 636 use `test`; TRUNCATE TABLE t1 +master-bin.000001 636 Query 1 712 use `test`; DROP TABLE t1 +master-bin.000001 712 Query 1 829 use `test`; CREATE TABLE t1 (a INT PRIMARY KEY, b LONG) ENGINE=NDB +master-bin.000001 829 Query 1 893 BEGIN +master-bin.000001 893 Table_map 1 40 table_id: # (test.t1) +master-bin.000001 933 Table_map 1 98 table_id: # (mysql.ndb_apply_status) +master-bin.000001 991 Write_rows 1 157 table_id: # +master-bin.000001 1050 Write_rows 1 204 table_id: # flags: STMT_END_F +master-bin.000001 1097 Query 1 1162 COMMIT +master-bin.000001 1162 Query 1 1226 BEGIN +master-bin.000001 1226 Table_map 1 40 table_id: # (test.t1) +master-bin.000001 1266 Table_map 1 98 table_id: # (mysql.ndb_apply_status) +master-bin.000001 1324 Write_rows 1 157 table_id: # +master-bin.000001 1383 Delete_rows 1 196 table_id: # flags: STMT_END_F +master-bin.000001 1422 Query 1 1487 COMMIT +master-bin.000001 1487 Query 1 1563 use `test`; DROP TABLE t1 diff -Nrup a/mysql-test/r/rpl_truncate_7ndb_2.result b/mysql-test/r/rpl_truncate_7ndb_2.result --- a/mysql-test/r/rpl_truncate_7ndb_2.result 2006-11-22 04:32:50 +08:00 +++ b/mysql-test/r/rpl_truncate_7ndb_2.result 2007-07-12 15:19:25 +08:00 @@ -29,16 +29,16 @@ a b DROP TABLE t1; SHOW BINLOG EVENTS; Log_name Pos Event_type Server_id End_log_pos Info -master-bin.000001 4 Format_desc 1 102 Server ver: SERVER_VERSION, Binlog ver: 4 -master-bin.000001 102 Query 1 219 use `test`; CREATE TABLE t1 (a INT PRIMARY KEY, b LONG) ENGINE=NDB -master-bin.000001 219 Query 1 283 BEGIN -master-bin.000001 283 Table_map 1 40 table_id: # (test.t1) -master-bin.000001 323 Table_map 1 93 table_id: # (mysql.apply_status) -master-bin.000001 376 Write_rows 1 135 table_id: # -master-bin.000001 418 Write_rows 1 182 table_id: # flags: STMT_END_F -master-bin.000001 465 Query 1 530 COMMIT -master-bin.000001 530 Query 1 610 use `test`; TRUNCATE TABLE t1 -master-bin.000001 610 Query 1 686 use `test`; DROP TABLE t1 +master-bin.000001 4 Format_desc 1 106 Server ver: SERVER_VERSION, Binlog ver: 4 +master-bin.000001 106 Query 1 223 use `test`; CREATE TABLE t1 (a INT PRIMARY KEY, b LONG) ENGINE=NDB +master-bin.000001 223 Query 1 287 BEGIN +master-bin.000001 287 Table_map 1 40 table_id: # (test.t1) +master-bin.000001 327 Table_map 1 98 table_id: # (mysql.ndb_apply_status) +master-bin.000001 385 Write_rows 1 157 table_id: # +master-bin.000001 444 Write_rows 1 204 table_id: # flags: STMT_END_F +master-bin.000001 491 Query 1 556 COMMIT +master-bin.000001 556 Query 1 636 use `test`; TRUNCATE TABLE t1 +master-bin.000001 636 Query 1 712 use `test`; DROP TABLE t1 **** On Master **** CREATE TABLE t1 (a INT PRIMARY KEY, b LONG) ENGINE=NDB; INSERT INTO t1 VALUES (1,1), (2,2); @@ -65,27 +65,27 @@ a b DROP TABLE t1; SHOW BINLOG EVENTS; Log_name Pos Event_type Server_id End_log_pos Info -master-bin.000001 4 Format_desc 1 102 Server ver: SERVER_VERSION, Binlog ver: 4 -master-bin.000001 102 Query 1 219 use `test`; CREATE TABLE t1 (a INT PRIMARY KEY, b LONG) ENGINE=NDB -master-bin.000001 219 Query 1 283 BEGIN -master-bin.000001 283 Table_map 1 40 table_id: # (test.t1) -master-bin.000001 323 Table_map 1 93 table_id: # (mysql.apply_status) -master-bin.000001 376 Write_rows 1 135 table_id: # -master-bin.000001 418 Write_rows 1 182 table_id: # flags: STMT_END_F -master-bin.000001 465 Query 1 530 COMMIT -master-bin.000001 530 Query 1 610 use `test`; TRUNCATE TABLE t1 -master-bin.000001 610 Query 1 686 use `test`; DROP TABLE t1 -master-bin.000001 686 Query 1 803 use `test`; CREATE TABLE t1 (a INT PRIMARY KEY, b LONG) ENGINE=NDB -master-bin.000001 803 Query 1 867 BEGIN -master-bin.000001 867 Table_map 1 40 table_id: # (test.t1) -master-bin.000001 907 Table_map 1 93 table_id: # (mysql.apply_status) -master-bin.000001 960 Write_rows 1 135 table_id: # -master-bin.000001 1002 Write_rows 1 182 table_id: # flags: STMT_END_F -master-bin.000001 1049 Query 1 1114 COMMIT -master-bin.000001 1114 Query 1 1178 BEGIN -master-bin.000001 1178 Table_map 1 40 table_id: # (test.t1) -master-bin.000001 1218 Table_map 1 93 table_id: # (mysql.apply_status) -master-bin.000001 1271 Write_rows 1 135 table_id: # -master-bin.000001 1313 Delete_rows 1 174 table_id: # flags: STMT_END_F -master-bin.000001 1352 Query 1 1417 COMMIT -master-bin.000001 1417 Query 1 1493 use `test`; DROP TABLE t1 +master-bin.000001 4 Format_desc 1 106 Server ver: SERVER_VERSION, Binlog ver: 4 +master-bin.000001 106 Query 1 223 use `test`; CREATE TABLE t1 (a INT PRIMARY KEY, b LONG) ENGINE=NDB +master-bin.000001 223 Query 1 287 BEGIN +master-bin.000001 287 Table_map 1 40 table_id: # (test.t1) +master-bin.000001 327 Table_map 1 98 table_id: # (mysql.ndb_apply_status) +master-bin.000001 385 Write_rows 1 157 table_id: # +master-bin.000001 444 Write_rows 1 204 table_id: # flags: STMT_END_F +master-bin.000001 491 Query 1 556 COMMIT +master-bin.000001 556 Query 1 636 use `test`; TRUNCATE TABLE t1 +master-bin.000001 636 Query 1 712 use `test`; DROP TABLE t1 +master-bin.000001 712 Query 1 829 use `test`; CREATE TABLE t1 (a INT PRIMARY KEY, b LONG) ENGINE=NDB +master-bin.000001 829 Query 1 893 BEGIN +master-bin.000001 893 Table_map 1 40 table_id: # (test.t1) +master-bin.000001 933 Table_map 1 98 table_id: # (mysql.ndb_apply_status) +master-bin.000001 991 Write_rows 1 157 table_id: # +master-bin.000001 1050 Write_rows 1 204 table_id: # flags: STMT_END_F +master-bin.000001 1097 Query 1 1162 COMMIT +master-bin.000001 1162 Query 1 1226 BEGIN +master-bin.000001 1226 Table_map 1 40 table_id: # (test.t1) +master-bin.000001 1266 Table_map 1 98 table_id: # (mysql.ndb_apply_status) +master-bin.000001 1324 Write_rows 1 157 table_id: # +master-bin.000001 1383 Delete_rows 1 196 table_id: # flags: STMT_END_F +master-bin.000001 1422 Query 1 1487 COMMIT +master-bin.000001 1487 Query 1 1563 use `test`; DROP TABLE t1 diff -Nrup a/mysql-test/t/disabled.def b/mysql-test/t/disabled.def --- a/mysql-test/t/disabled.def 2007-07-04 20:06:21 +08:00 +++ b/mysql-test/t/disabled.def 2007-07-12 15:19:25 +08:00 @@ -28,7 +28,6 @@ partition_03ndb : BUG#16385 200 rpl_ndb_circular_simplex : BUG#27972 2007-04-20 mats Slave cannot start where it stopped rpl_ndb_2innodb : BUG#19227 2006-04-20 pekka pk delete apparently not replicated rpl_ndb_2myisam : BUG#19227 Seems to pass currently -rpl_ndb_dd_partitions : BUG#19259 2006-04-21 rpl_ndb_dd_partitions fails on s/AMD rpl_ddl : BUG#26418 2007-03-01 mleich Slave out of sync after CREATE/DROP TEMPORARY TABLE + ROLLBACK on master rpl_ndb_innodb2ndb : Bug #19710 Cluster replication to partition table fails on DELETE FROM statement rpl_ndb_myisam2ndb : Bug #19710 Cluster replication to partition table fails on DELETE FROM statement diff -Nrup a/mysql-test/t/rpl_ndb_dd_partitions-master.opt b/mysql-test/t/rpl_ndb_dd_partitions-master.opt --- /dev/null Wed Dec 31 16:00:00 196900 +++ b/mysql-test/t/rpl_ndb_dd_partitions-master.opt 2007-07-12 15:19:25 +08:00 @@ -0,0 +1 @@ +--new=true diff -Nrup a/mysql-test/t/rpl_ndb_dd_partitions-slave.opt b/mysql-test/t/rpl_ndb_dd_partitions-slave.opt --- /dev/null Wed Dec 31 16:00:00 196900 +++ b/mysql-test/t/rpl_ndb_dd_partitions-slave.opt 2007-07-12 15:19:25 +08:00 @@ -0,0 +1 @@ +--new=true diff -Nrup a/sql/log_event.cc b/sql/log_event.cc --- a/sql/log_event.cc 2007-06-28 21:07:53 +08:00 +++ b/sql/log_event.cc 2007-07-12 15:19:25 +08:00 @@ -5653,12 +5653,15 @@ Rows_log_event::Rows_log_event(THD *thd_ /* if bitmap_init fails, catched in is_valid() */ if (likely(!bitmap_init(&m_cols, m_width <= sizeof(m_bitbuf)*8 ? m_bitbuf : NULL, - (m_width + 7) & ~7UL, + m_width, false))) { /* Cols can be zero if this is a dummy binrows event */ if (likely(cols != NULL)) + { memcpy(m_cols.bitmap, cols->bitmap, no_bytes_in_map(cols)); + create_last_word_mask(&m_cols); + } } else { @@ -5711,11 +5714,12 @@ Rows_log_event::Rows_log_event(const cha /* if bitmap_init fails, catched in is_valid() */ if (likely(!bitmap_init(&m_cols, m_width <= sizeof(m_bitbuf)*8 ? m_bitbuf : NULL, - (m_width + 7) & ~7UL, + m_width, false))) { DBUG_PRINT("debug", ("Reading from %p", ptr_after_width)); memcpy(m_cols.bitmap, ptr_after_width, (m_width + 7) / 8); + create_last_word_mask(&m_cols); ptr_after_width+= (m_width + 7) / 8; DBUG_DUMP("m_cols", (uchar*) m_cols.bitmap, no_bytes_in_map(&m_cols)); } @@ -5735,11 +5739,12 @@ Rows_log_event::Rows_log_event(const cha /* if bitmap_init fails, catched in is_valid() */ if (likely(!bitmap_init(&m_cols_ai, m_width <= sizeof(m_bitbuf_ai)*8 ? m_bitbuf_ai : NULL, - (m_width + 7) & ~7UL, + m_width, false))) { DBUG_PRINT("debug", ("Reading from %p", ptr_after_width)); memcpy(m_cols_ai.bitmap, ptr_after_width, (m_width + 7) / 8); + create_last_word_mask(&m_cols_ai); ptr_after_width+= (m_width + 7) / 8; DBUG_DUMP("m_cols_ai", (uchar*) m_cols_ai.bitmap, no_bytes_in_map(&m_cols_ai)); @@ -7685,12 +7690,15 @@ void Update_rows_log_event::init(MY_BITM /* if bitmap_init fails, catched in is_valid() */ if (likely(!bitmap_init(&m_cols_ai, m_width <= sizeof(m_bitbuf_ai)*8 ? m_bitbuf_ai : NULL, - (m_width + 7) & ~7UL, + m_width, false))) { /* Cols can be zero if this is a dummy binrows event */ if (likely(cols != NULL)) + { memcpy(m_cols_ai.bitmap, cols->bitmap, no_bytes_in_map(cols)); + create_last_word_mask(&m_cols_ai); + } } } #endif /* !defined(MYSQL_CLIENT) */