mariadb/mysql-test/r/rpl_row_basic_11bugs.result
unknown e4146a9f7a 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''
2007-02-12 16:46:42 +01:00

221 lines
5.1 KiB
Text

stop slave;
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
reset master;
reset slave;
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
start slave;
CREATE DATABASE test_ignore;
**** On Master ****
SHOW DATABASES;
Database
information_schema
cluster
mysql
test
test_ignore
USE test;
CREATE TABLE t1 (a INT, b INT);
SHOW TABLES;
Tables_in_test
t1
INSERT INTO t1 VALUES (1,1), (2,2);
USE test_ignore;
CREATE TABLE t2 (a INT, b INT);
SHOW TABLES;
Tables_in_test_ignore
t2
INSERT INTO t2 VALUES (3,3), (4,4);
SHOW BINLOG EVENTS FROM 105;
Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 105 Query 1 198 use `test`; CREATE TABLE t1 (a INT, b INT)
master-bin.000001 198 Table_map 1 238 table_id: # (test.t1)
master-bin.000001 238 Write_rows 1 285 table_id: # flags: STMT_END_F
**** On Slave ****
SHOW DATABASES;
Database
information_schema
cluster
mysql
test
USE test;
SHOW TABLES;
Tables_in_test
t1
USE test_ignore;
ERROR 42000: Unknown database 'test_ignore'
DROP DATABASE test_ignore;
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
reset master;
reset slave;
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
start slave;
CREATE TABLE t1 (a INT);
DELETE FROM t1;
INSERT INTO t1 VALUES (1),(2);
DELETE FROM t1 WHERE a = 0;
UPDATE t1 SET a=99 WHERE a = 0;
SHOW BINLOG EVENTS;
Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 4 Format_desc 1 105 Server ver: SERVER_VERSION, Binlog ver: 4
master-bin.000001 105 Query 1 191 use `test`; CREATE TABLE t1 (a INT)
master-bin.000001 191 Table_map 1 230 table_id: # (test.t1)
master-bin.000001 230 Write_rows 1 269 table_id: # flags: STMT_END_F
DROP TABLE t1;
================ Test for BUG#17620 ================
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
reset master;
reset slave;
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
start slave;
**** On Slave ****
SET GLOBAL QUERY_CACHE_SIZE=0;
**** On Master ****
CREATE TABLE t1 (a INT);
INSERT INTO t1 VALUES (1),(2),(3);
**** On Slave ****
SET GLOBAL QUERY_CACHE_SIZE=16*1024*1024;
**** On Master ****
INSERT INTO t1 VALUES (4),(5),(6);
**** On Slave ****
SELECT * FROM t1;
a
1
2
3
4
5
6
**** On Master ****
INSERT INTO t1 VALUES (7),(8),(9);
**** On Slave ****
SELECT * FROM t1;
a
1
2
3
4
5
6
7
8
9
================ Test for BUG#22550 ================
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
reset master;
reset slave;
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
start slave;
CREATE TABLE t1 (a BIT(1), b INT) ENGINE=MYISAM;
INSERT INTO t1 VALUES(1,2);
SELECT HEX(a),b FROM t1;
HEX(a) b
1 2
SELECT HEX(a),b FROM t1;
HEX(a) b
1 2
UPDATE t1 SET a=0 WHERE b=2;
SELECT HEX(a),b FROM t1;
HEX(a) b
0 2
SELECT HEX(a),b FROM t1;
HEX(a) b
0 2
DROP TABLE IF EXISTS t1;
================ Test for BUG#22583 ================
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
reset master;
reset slave;
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
start slave;
**** On Master ****
CREATE TABLE t1_myisam (k INT, a BIT(1), b BIT(9)) ENGINE=MYISAM;
CREATE TABLE t1_innodb (k INT, a BIT(1), b BIT(9)) ENGINE=INNODB;
CREATE TABLE t2_myisam (k INT, a BIT(1) NOT NULL, b BIT(4) NOT NULL) ENGINE=MYISAM;
CREATE TABLE t2_innodb (k INT, a BIT(1) NOT NULL, b BIT(4) NOT NULL) ENGINE=INNODB;
**** On Slave ****
ALTER TABLE t1_myisam ENGINE=INNODB;
ALTER TABLE t1_innodb ENGINE=MYISAM;
ALTER TABLE t2_myisam ENGINE=INNODB;
ALTER TABLE t2_innodb ENGINE=MYISAM;
**** On Master ****
INSERT INTO t1_myisam VALUES(1, b'0', 257);
INSERT INTO t1_myisam VALUES(2, b'1', 256);
INSERT INTO t1_innodb VALUES(1, b'0', 257);
INSERT INTO t1_innodb VALUES(2, b'1', 256);
SELECT k, HEX(a),HEX(b) FROM t1_myisam;
k HEX(a) HEX(b)
1 0 101
2 1 100
SELECT k, HEX(a),HEX(b) FROM t1_innodb;
k HEX(a) HEX(b)
1 0 101
2 1 100
INSERT INTO t2_myisam VALUES(1, b'0', 9);
INSERT INTO t2_myisam VALUES(2, b'1', 8);
INSERT INTO t2_innodb VALUES(1, b'0', 9);
INSERT INTO t2_innodb VALUES(2, b'1', 8);
SELECT k, HEX(a),HEX(b) FROM t2_myisam;
k HEX(a) HEX(b)
1 0 9
2 1 8
SELECT k, HEX(a),HEX(b) FROM t2_innodb;
k HEX(a) HEX(b)
1 0 9
2 1 8
**** On Slave ****
SELECT k, HEX(a),HEX(b) FROM t1_myisam;
k HEX(a) HEX(b)
1 0 101
2 1 100
SELECT k, HEX(a),HEX(b) FROM t1_innodb;
k HEX(a) HEX(b)
1 0 101
2 1 100
SELECT k, HEX(a),HEX(b) FROM t2_myisam;
k HEX(a) HEX(b)
1 0 9
2 1 8
SELECT k, HEX(a),HEX(b) FROM t2_innodb;
k HEX(a) HEX(b)
1 0 9
2 1 8
**** On Master ****
UPDATE t1_myisam SET a=0 WHERE k=2;
SELECT k, HEX(a),HEX(b) FROM t1_myisam;
k HEX(a) HEX(b)
1 0 101
2 0 100
UPDATE t1_innodb SET a=0 WHERE k=2;
SELECT k, HEX(a),HEX(b) FROM t1_innodb;
k HEX(a) HEX(b)
1 0 101
2 0 100
UPDATE t2_myisam SET a=0 WHERE k=2;
SELECT k, HEX(a),HEX(b) FROM t2_myisam;
k HEX(a) HEX(b)
1 0 9
2 0 8
UPDATE t2_innodb SET a=0 WHERE k=2;
SELECT k, HEX(a),HEX(b) FROM t2_innodb;
k HEX(a) HEX(b)
1 0 9
2 0 8
**** On Slave ****
SELECT k, HEX(a),HEX(b) FROM t1_myisam;
k HEX(a) HEX(b)
1 0 101
2 0 100
SELECT k, HEX(a),HEX(b) FROM t1_innodb;
k HEX(a) HEX(b)
1 0 101
2 0 100
SELECT k, HEX(a),HEX(b) FROM t2_myisam;
k HEX(a) HEX(b)
1 0 9
2 0 8
SELECT k, HEX(a),HEX(b) FROM t2_innodb;
k HEX(a) HEX(b)
1 0 9
2 0 8
**** On Master ****
DROP TABLE IF EXISTS t1_myisam, t1_innodb, t2_myisam, t2_innodb;