mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
Manual merge of mysql-5.1-bugteam to mysql-trunk-merge.
Conflicts: conflict Makefile.am conflict mysql-test/suite/rpl/r/rpl_stm_mixing_engines.result conflict mysql-test/suite/rpl/t/rpl_tmp_table_and_DDL.test conflict sql/opt_sum.cc conflict sql/set_var.cc conflict sql/sql_base.cc conflict sql/sql_priv.h conflict sql/sql_show.cc
This commit is contained in:
46
mysql-test/suite/rpl/r/rpl_row_rec_comp_innodb.result
Normal file
46
mysql-test/suite/rpl/r/rpl_row_rec_comp_innodb.result
Normal file
@ -0,0 +1,46 @@
|
||||
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;
|
||||
## case #1 - last_null_bit_pos==0 in record_compare without X bit
|
||||
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 TABLE t1 (c1 bigint(20) DEFAULT 0, c2 bigint(20) DEFAULT 0, c3 bigint(20) DEFAULT 0, c4 varchar(1) DEFAULT '', c5 bigint(20) DEFAULT 0, c6 bigint(20) DEFAULT 0, c7 bigint(20) DEFAULT 0, c8 bigint(20) DEFAULT 0) ENGINE=InnoDB DEFAULT CHARSET=latin1;
|
||||
INSERT INTO t1 ( c5, c6 ) VALUES ( 1 , 35 );
|
||||
INSERT INTO t1 ( c5, c6 ) VALUES ( NULL, 35 );
|
||||
UPDATE t1 SET c5 = 'a';
|
||||
Comparing tables master:test.t1 and slave:test.t1
|
||||
DROP TABLE t1;
|
||||
## case #1.1 - last_null_bit_pos==0 in record_compare with X bit
|
||||
## (1 column less and no varchar)
|
||||
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 TABLE t1 (c1 bigint(20) DEFAULT 0, c2 bigint(20) DEFAULT 0, c3 bigint(20) DEFAULT 0, c4 bigint(20) DEFAULT 0, c5 bigint(20) DEFAULT 0, c6 bigint(20) DEFAULT 0, c7 bigint(20) DEFAULT 0) ENGINE=InnoDB DEFAULT CHARSET=latin1;
|
||||
INSERT INTO t1 ( c5, c6 ) VALUES ( 1 , 35 );
|
||||
INSERT INTO t1 ( c5, c6 ) VALUES ( NULL, 35 );
|
||||
UPDATE t1 SET c5 = 'a';
|
||||
Comparing tables master:test.t1 and slave:test.t1
|
||||
DROP TABLE t1;
|
||||
## case #2 - X bit is wrongly set.
|
||||
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 TABLE t1 (c1 int, c2 varchar(1) default '') ENGINE=InnoDB DEFAULT CHARSET= latin1;
|
||||
INSERT INTO t1(c1) VALUES (10);
|
||||
INSERT INTO t1(c1) VALUES (NULL);
|
||||
UPDATE t1 SET c1= 0;
|
||||
Comparing tables master:test.t1 and slave:test.t1
|
||||
DROP TABLE t1;
|
60
mysql-test/suite/rpl/r/rpl_row_rec_comp_myisam.result
Normal file
60
mysql-test/suite/rpl/r/rpl_row_rec_comp_myisam.result
Normal file
@ -0,0 +1,60 @@
|
||||
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;
|
||||
## case #1 - last_null_bit_pos==0 in record_compare without X bit
|
||||
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 TABLE t1 (c1 bigint(20) DEFAULT 0, c2 bigint(20) DEFAULT 0, c3 bigint(20) DEFAULT 0, c4 varchar(1) DEFAULT '', c5 bigint(20) DEFAULT 0, c6 bigint(20) DEFAULT 0, c7 bigint(20) DEFAULT 0, c8 bigint(20) DEFAULT 0) ENGINE=MyISAM DEFAULT CHARSET=latin1;
|
||||
INSERT INTO t1 ( c5, c6 ) VALUES ( 1 , 35 );
|
||||
INSERT INTO t1 ( c5, c6 ) VALUES ( NULL, 35 );
|
||||
UPDATE t1 SET c5 = 'a';
|
||||
Comparing tables master:test.t1 and slave:test.t1
|
||||
DROP TABLE t1;
|
||||
## case #1.1 - last_null_bit_pos==0 in record_compare with X bit
|
||||
## (1 column less and no varchar)
|
||||
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 TABLE t1 (c1 bigint(20) DEFAULT 0, c2 bigint(20) DEFAULT 0, c3 bigint(20) DEFAULT 0, c4 bigint(20) DEFAULT 0, c5 bigint(20) DEFAULT 0, c6 bigint(20) DEFAULT 0, c7 bigint(20) DEFAULT 0) ENGINE=MyISAM DEFAULT CHARSET=latin1;
|
||||
INSERT INTO t1 ( c5, c6 ) VALUES ( 1 , 35 );
|
||||
INSERT INTO t1 ( c5, c6 ) VALUES ( NULL, 35 );
|
||||
UPDATE t1 SET c5 = 'a';
|
||||
Comparing tables master:test.t1 and slave:test.t1
|
||||
DROP TABLE t1;
|
||||
## case #2 - X bit is wrongly set.
|
||||
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 TABLE t1 (c1 int, c2 varchar(1) default '') ENGINE=MyISAM DEFAULT CHARSET= latin1;
|
||||
INSERT INTO t1(c1) VALUES (10);
|
||||
INSERT INTO t1(c1) VALUES (NULL);
|
||||
UPDATE t1 SET c1= 0;
|
||||
Comparing tables master:test.t1 and slave:test.t1
|
||||
DROP TABLE t1;
|
||||
## coverage purposes - Field_bits
|
||||
## 1 X bit + 2 Null bits + 5 bits => last_null_bit_pos==0
|
||||
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 TABLE t1 (c1 bigint(20) DEFAULT 0, c2 bit(5)) ENGINE=MyISAM DEFAULT CHARSET=latin1;
|
||||
INSERT INTO t1(c1,c2) VALUES (10, b'1');
|
||||
INSERT INTO t1(c1,c2) VALUES (NULL, b'1');
|
||||
UPDATE t1 SET c1= 0;
|
||||
Comparing tables master:test.t1 and slave:test.t1
|
||||
DROP TABLE t1;
|
@ -11314,3 +11314,35 @@ master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE IF EXISTS tt_xx_1
|
||||
###################################################################################
|
||||
# CLEAN
|
||||
###################################################################################
|
||||
DROP TABLE tt_1;
|
||||
DROP TABLE tt_2;
|
||||
DROP TABLE tt_3;
|
||||
DROP TABLE tt_4;
|
||||
DROP TABLE nt_1;
|
||||
DROP TABLE nt_2;
|
||||
DROP TABLE nt_3;
|
||||
DROP TABLE nt_4;
|
||||
DROP PROCEDURE pc_i_tt_3;
|
||||
DROP FUNCTION f1;
|
||||
DROP FUNCTION f2;
|
||||
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 TABLE `t1` (
|
||||
`c1` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`c2` tinyint(1) unsigned DEFAULT NULL,
|
||||
`c3` varchar(300) DEFAULT NULL,
|
||||
`c4` int(10) unsigned NOT NULL,
|
||||
`c5` int(10) unsigned DEFAULT NULL,
|
||||
PRIMARY KEY (`c1`)) ENGINE=MyISAM DEFAULT CHARSET=latin1;
|
||||
ALTER TABLE `t1` Engine=InnoDB;
|
||||
SET AUTOCOMMIT=0;
|
||||
INSERT INTO t1 (c1,c2,c3,c4,c5) VALUES (1, 1, 'X', 1, NULL);
|
||||
COMMIT;
|
||||
ROLLBACK;
|
||||
SET AUTOCOMMIT=1;
|
||||
Comparing tables master:test.t1 and slave:test.t1
|
||||
DROP TABLE `t1`;
|
||||
|
10
mysql-test/suite/rpl/t/rpl_row_rec_comp_innodb.test
Normal file
10
mysql-test/suite/rpl/t/rpl_row_rec_comp_innodb.test
Normal file
@ -0,0 +1,10 @@
|
||||
-- source include/have_binlog_format_row.inc
|
||||
-- source include/master-slave.inc
|
||||
-- source include/have_innodb.inc
|
||||
|
||||
#
|
||||
# BUG#52868 Wrong handling of NULL value during update, replication out of sync
|
||||
#
|
||||
|
||||
-- let $engine= InnoDB
|
||||
-- source extra/rpl_tests/rpl_record_compare.test
|
31
mysql-test/suite/rpl/t/rpl_row_rec_comp_myisam.test
Normal file
31
mysql-test/suite/rpl/t/rpl_row_rec_comp_myisam.test
Normal file
@ -0,0 +1,31 @@
|
||||
-- source include/have_binlog_format_row.inc
|
||||
-- source include/master-slave.inc
|
||||
|
||||
#
|
||||
# BUG#52868 Wrong handling of NULL value during update, replication out of sync
|
||||
#
|
||||
|
||||
-- let $engine= MyISAM
|
||||
-- source extra/rpl_tests/rpl_record_compare.test
|
||||
|
||||
-- echo ## coverage purposes - Field_bits
|
||||
-- echo ## 1 X bit + 2 Null bits + 5 bits => last_null_bit_pos==0
|
||||
## Added here because AFAIK it's only MyISAM and NDB that use Field_bits
|
||||
|
||||
-- source include/master-slave-reset.inc
|
||||
-- connection master
|
||||
|
||||
-- eval CREATE TABLE t1 (c1 bigint(20) DEFAULT 0, c2 bit(5)) ENGINE=$engine DEFAULT CHARSET=latin1
|
||||
|
||||
INSERT INTO t1(c1,c2) VALUES (10, b'1');
|
||||
INSERT INTO t1(c1,c2) VALUES (NULL, b'1');
|
||||
UPDATE t1 SET c1= 0;
|
||||
-- sync_slave_with_master
|
||||
|
||||
-- let $diff_table_1= master:test.t1
|
||||
-- let $diff_table_2= slave:test.t1
|
||||
-- source include/diff_tables.inc
|
||||
|
||||
-- connection master
|
||||
DROP TABLE t1;
|
||||
-- sync_slave_with_master
|
@ -8,3 +8,41 @@
|
||||
|
||||
let $engine_type=Innodb;
|
||||
--source extra/rpl_tests/rpl_mixing_engines.test
|
||||
|
||||
#
|
||||
# BUG#49522: Replication problem with mixed MyISAM/InnoDB
|
||||
#
|
||||
|
||||
-- source include/master-slave-reset.inc
|
||||
-- connection master
|
||||
|
||||
CREATE TABLE `t1` (
|
||||
`c1` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`c2` tinyint(1) unsigned DEFAULT NULL,
|
||||
`c3` varchar(300) DEFAULT NULL,
|
||||
`c4` int(10) unsigned NOT NULL,
|
||||
`c5` int(10) unsigned DEFAULT NULL,
|
||||
PRIMARY KEY (`c1`)) ENGINE=MyISAM DEFAULT CHARSET=latin1;
|
||||
|
||||
-- sync_slave_with_master
|
||||
ALTER TABLE `t1` Engine=InnoDB;
|
||||
|
||||
-- connection master
|
||||
SET AUTOCOMMIT=0;
|
||||
|
||||
INSERT INTO t1 (c1,c2,c3,c4,c5) VALUES (1, 1, 'X', 1, NULL);
|
||||
COMMIT;
|
||||
ROLLBACK;
|
||||
SET AUTOCOMMIT=1;
|
||||
|
||||
-- sync_slave_with_master
|
||||
|
||||
-- let $diff_table_1=master:test.t1
|
||||
-- let $diff_table_2=slave:test.t1
|
||||
-- source include/diff_tables.inc
|
||||
|
||||
-- connection master
|
||||
DROP TABLE `t1`;
|
||||
-- sync_slave_with_master
|
||||
|
||||
-- source include/master-slave-end.inc
|
||||
|
Reference in New Issue
Block a user