Commit b84ee0de authored by jmiller@mysql.com's avatar jmiller@mysql.com

Test case updates and new test cases added to CRBR

parent 20d12aa8
...@@ -9,14 +9,14 @@ let $VERSION=`select version()`; ...@@ -9,14 +9,14 @@ let $VERSION=`select version()`;
eval create table t1(a int not null primary key) engine=$engine_type; eval create table t1(a int not null primary key) engine=$engine_type;
insert delayed into t1 values (1),(2),(3); insert delayed into t1 values (1),(2),(3);
flush tables; flush tables;
select * from t1; SELECT * FROM t1 ORDER BY a;
sync_slave_with_master; sync_slave_with_master;
connection master; connection master;
--replace_result $VERSION VERSION --replace_result $VERSION VERSION
show binlog events; show binlog events;
sync_slave_with_master; sync_slave_with_master;
select * from t1; SELECT * FROM t1 ORDER BY a;
connection master; connection master;
drop table t1; drop table t1;
sync_slave_with_master; sync_slave_with_master;
-- source include/master-slave.inc
##############################################################################
#
# Let's verify that multi-update with a subselect does not cause the slave to crash
# (BUG#10442)
#
--disable_query_log
SELECT '-------- Test for BUG#9361 --------' as "";
--enable_query_log
eval CREATE TABLE t1 (
a int unsigned not null auto_increment primary key,
b int unsigned
) ENGINE=$engine_type;
eval CREATE TABLE t2 (
a int unsigned not null auto_increment primary key,
b int unsigned
) ENGINE=$engine_type;
INSERT INTO t1 VALUES (NULL, 0);
INSERT INTO t1 SELECT NULL, 0 FROM t1;
INSERT INTO t2 VALUES (NULL, 0), (NULL,1);
SELECT * FROM t1 ORDER BY a;
SELECT * FROM t2 ORDER BY a;
UPDATE t2, (SELECT a FROM t1) AS t SET t2.b = t.a+5 ;
SELECT * FROM t1 ORDER BY a;
SELECT * FROM t2 ORDER BY a;
sync_slave_with_master;
connection slave;
SELECT * FROM t1 ORDER BY a;
SELECT * FROM t2 ORDER BY a;
connection master;
drop table t1,t2;
##############################################################################
#
# Test for BUG#9361:
# Subselects should work inside multi-updates
#
--disable_query_log
SELECT '-------- Test 1 for BUG#9361 --------' as "";
--enable_query_log
connection master;
--disable_warnings
DROP TABLE IF EXISTS t1;
DROP TABLE IF EXISTS t2;
--enable_warnings
CREATE TABLE t1 (
a1 char(30),
a2 int,
a3 int,
a4 char(30),
a5 char(30)
);
CREATE TABLE t2 (
b1 int,
b2 char(30)
);
# Insert one row per table
INSERT INTO t1 VALUES ('Yes', 1, NULL, 'foo', 'bar');
INSERT INTO t2 VALUES (1, 'baz');
# This should update the row in t1
UPDATE t1 a, t2
SET a.a1 = 'No'
WHERE a.a2 =
(SELECT b1
FROM t2
WHERE b2 = 'baz')
AND a.a3 IS NULL
AND a.a4 = 'foo'
AND a.a5 = 'bar';
sync_slave_with_master;
connection slave;
SELECT * FROM t1;
SELECT * FROM t2;
connection master;
DROP TABLE t1, t2;
##############################################################################
#
# Second test for BUG#9361
#
--disable_query_log
SELECT '-------- Test 2 for BUG#9361 --------' as "";
--enable_query_log
connection master;
--disable_warnings
DROP TABLE IF EXISTS t1;
DROP TABLE IF EXISTS t2;
DROP TABLE IF EXISTS t3;
--enable_warnings
CREATE TABLE t1 (
i INT,
j INT,
x INT,
y INT,
z INT
);
CREATE TABLE t2 (
i INT,
k INT,
x INT,
y INT,
z INT
);
CREATE TABLE t3 (
j INT,
k INT,
x INT,
y INT,
z INT
);
INSERT INTO t1 VALUES ( 1, 2,13,14,15);
INSERT INTO t2 VALUES ( 1, 3,23,24,25);
INSERT INTO t3 VALUES ( 2, 3, 1,34,35), ( 2, 3, 1,34,36);
UPDATE t1 AS a
INNER JOIN t2 AS b
ON a.i = b.i
INNER JOIN t3 AS c
ON a.j = c.j AND b.k = c.k
SET a.x = b.x,
a.y = b.y,
a.z = (
SELECT sum(z)
FROM t3
WHERE y = 34
)
WHERE b.x = 23;
sync_slave_with_master;
connection slave;
SELECT * FROM t1;
connection master;
DROP TABLE t1, t2, t3;
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;
DROP PROCEDURE IF EXISTS test.p1;
DROP TABLE IF EXISTS test.t1;
CREATE TABLE test.t1 (a INT, blob_column LONGBLOB, vchar_column VARCHAR(100), PRIMARY KEY(a)) engine=NDB;
INSERT INTO test.t1 VALUES(1,UUID(),UUID());
create procedure test.p1()
begin
INSERT INTO test.t1 VALUES(2,UUID(),UUID());
INSERT INTO test.t1 VALUES(3,UUID(),UUID());
end|
CALL test.p1();
create function test.fn1(x int)
returns int
begin
insert into t1 values (4+x,UUID(),UUID());
insert into t1 values (5+x,UUID(),UUID());
return 0;
end|
select fn1(0);
fn1(0)
0
create table t2 (a int);
insert into t2 values(fn1(2));
SHOW CREATE TABLE test.t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` int(11) NOT NULL default '0',
`blob_column` longblob,
`vchar_column` varchar(100) default NULL,
PRIMARY KEY (`a`)
) ENGINE=ndbcluster DEFAULT CHARSET=latin1 PARTITION BY KEY ()
DROP PROCEDURE test.p1;
DROP FUNCTION test.fn1;
DROP TABLE test.t1;
DROP TABLE test.t2;
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;
set timestamp=1000000000;
drop database if exists mysqltest2;
drop database if exists mysqltest3;
create database mysqltest2 character set latin2;
set @@character_set_server=latin5;
create database mysqltest3;
--- --master--
show create database mysqltest2;
Database Create Database
mysqltest2 CREATE DATABASE `mysqltest2` /*!40100 DEFAULT CHARACTER SET latin2 */
show create database mysqltest3;
Database Create Database
mysqltest3 CREATE DATABASE `mysqltest3` /*!40100 DEFAULT CHARACTER SET latin5 */
--- --slave--
show create database mysqltest2;
Database Create Database
mysqltest2 CREATE DATABASE `mysqltest2` /*!40100 DEFAULT CHARACTER SET latin2 */
show create database mysqltest3;
Database Create Database
mysqltest3 CREATE DATABASE `mysqltest3` /*!40100 DEFAULT CHARACTER SET latin5 */
set @@collation_server=armscii8_bin;
drop database mysqltest3;
create database mysqltest3;
--- --master--
show create database mysqltest3;
Database Create Database
mysqltest3 CREATE DATABASE `mysqltest3` /*!40100 DEFAULT CHARACTER SET armscii8 COLLATE armscii8_bin */
--- --slave--
show create database mysqltest3;
Database Create Database
mysqltest3 CREATE DATABASE `mysqltest3` /*!40100 DEFAULT CHARACTER SET armscii8 COLLATE armscii8_bin */
use mysqltest2;
create table t1 (a int auto_increment primary key, b varchar(100));
set character_set_client=cp850, collation_connection=latin2_croatian_ci;
insert into t1 (b) values(@@character_set_server);
insert into t1 (b) values(@@collation_server);
insert into t1 (b) values(@@character_set_client);
insert into t1 (b) values(@@character_set_connection);
insert into t1 (b) values(@@collation_connection);
--- --master--
select * from t1 order by a;
a b
1 armscii8
2 armscii8_bin
3 cp850
4 latin2
5 latin2_croatian_ci
--- --slave--
select * from mysqltest2.t1 order by a;
a b
1 armscii8
2 armscii8_bin
3 cp850
4 latin2
5 latin2_croatian_ci
select "--- --muller--" as "";
--- --muller--
set character_set_client=latin1, collation_connection=latin1_german1_ci;
truncate table t1;
insert into t1 (b) values(@@collation_connection);
insert into t1 (b) values(LEAST("Mller","Muffler"));
set collation_connection=latin1_german2_ci;
insert into t1 (b) values(@@collation_connection);
insert into t1 (b) values(LEAST("Mller","Muffler"));
--- --master--
select * from t1 order by a;
a b
1 latin1_german1_ci
2 Muffler
3 latin1_german2_ci
4 Mller
--- --slave--
select * from mysqltest2.t1 order by a;
a b
1 latin1_german1_ci
2 Muffler
3 latin1_german2_ci
4 Mller
select "--- --INSERT--" as "";
--- --INSERT--
set @a= _cp850 'Mller' collate cp850_general_ci;
truncate table t1;
insert into t1 (b) values(collation(@a));
--- --master--
select * from t1 order by a;
a b
1 cp850_general_ci
--- --slave--
select * from mysqltest2.t1 order by a;
a b
1 cp850_general_ci
drop database mysqltest2;
drop database mysqltest3;
show binlog events from 102;
Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Query 1 # drop database if exists mysqltest2
master-bin.000001 # Query 1 # drop database if exists mysqltest3
master-bin.000001 # Query 1 # create database mysqltest2 character set latin2
master-bin.000001 # Query 1 # create database mysqltest3
master-bin.000001 # Query 1 # drop database mysqltest3
master-bin.000001 # Query 1 # create database mysqltest3
master-bin.000001 # Query 1 # use `mysqltest2`; create table t1 (a int auto_increment primary key, b varchar(100))
master-bin.000001 # Table_map 1 # mysqltest2.t1
master-bin.000001 # Write_rows 1 #
master-bin.000001 # Table_map 1 # mysqltest2.t1
master-bin.000001 # Write_rows 1 #
master-bin.000001 # Table_map 1 # mysqltest2.t1
master-bin.000001 # Write_rows 1 #
master-bin.000001 # Table_map 1 # mysqltest2.t1
master-bin.000001 # Write_rows 1 #
master-bin.000001 # Table_map 1 # mysqltest2.t1
master-bin.000001 # Write_rows 1 #
master-bin.000001 # Query 1 # use `mysqltest2`; truncate table t1
master-bin.000001 # Table_map 1 # mysqltest2.t1
master-bin.000001 # Write_rows 1 #
master-bin.000001 # Table_map 1 # mysqltest2.t1
master-bin.000001 # Write_rows 1 #
master-bin.000001 # Table_map 1 # mysqltest2.t1
master-bin.000001 # Write_rows 1 #
master-bin.000001 # Table_map 1 # mysqltest2.t1
master-bin.000001 # Write_rows 1 #
master-bin.000001 # Query 1 # use `mysqltest2`; truncate table t1
master-bin.000001 # Table_map 1 # mysqltest2.t1
master-bin.000001 # Write_rows 1 #
master-bin.000001 # Query 1 # drop database mysqltest2
master-bin.000001 # Query 1 # drop database mysqltest3
select "--- --global--" as "";
--- --global--
set global character_set_server=latin2;
set global character_set_server=latin1;
set global character_set_server=latin2;
set global character_set_server=latin1;
select "--- --oneshot--" as "";
--- --oneshot--
set one_shot @@character_set_server=latin5;
set @@max_join_size=1000;
select @@character_set_server;
@@character_set_server
latin5
select @@character_set_server;
@@character_set_server
latin1
set @@character_set_server=latin5;
select @@character_set_server;
@@character_set_server
latin5
select @@character_set_server;
@@character_set_server
latin5
set one_shot max_join_size=10;
ERROR HY000: The 'SET ONE_SHOT' syntax is reserved for purposes internal to the MySQL server
set character_set_client=9999999;
ERROR 42000: Unknown character set: '9999999'
set collation_server=9999998;
ERROR HY000: Unknown collation: '9999998'
select "--- --3943--" as "";
--- --3943--
use test;
CREATE TABLE t1 (c1 VARBINARY(255), c2 VARBINARY(255));
SET CHARACTER_SET_CLIENT=koi8r,
CHARACTER_SET_CONNECTION=cp1251,
CHARACTER_SET_RESULTS=koi8r;
INSERT INTO t1 (c1, c2) VALUES (', ',', ');
select hex(c1), hex(c2) from t1;
hex(c1) hex(c2)
CDF32C20E7E020F0FBE1E0EBEAF3 CDF32C20E7E020F0FBE1E0EBEAF3
select hex(c1), hex(c2) from t1;
hex(c1) hex(c2)
CDF32C20E7E020F0FBE1E0EBEAF3 CDF32C20E7E020F0FBE1E0EBEAF3
drop table t1;
select "--- --6676--" as "";
--- --6676--
create table `t1` (
`pk` varchar(10) not null default '',
primary key (`pk`)
) engine=NDB default charset=latin1;
set @p=_latin1 'test';
update t1 set pk='test' where pk=@p;
drop table t1;
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 (a INT) ENGINE=NDB;
begin;
insert into t1 values(1);
flush tables with read lock;
commit;
unlock tables;
drop table t1;
This diff is collapsed.
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 (
a int unsigned not null auto_increment primary key,
b int unsigned,
unique (b)
) ENGINE=NDB;
CREATE TABLE t2 (
a int unsigned, # to force INSERT SELECT to have a certain order
b int unsigned
) ENGINE=NDB;
INSERT INTO t1 VALUES (NULL, 1);
INSERT INTO t1 VALUES (NULL, 2);
INSERT INTO t1 VALUES (NULL, 3);
INSERT INTO t1 VALUES (NULL, 4);
INSERT INTO t2 VALUES (1, 1);
INSERT INTO t2 VALUES (2, 2);
INSERT INTO t2 VALUES (3, 5);
INSERT INTO t2 VALUES (4, 3);
INSERT INTO t2 VALUES (5, 4);
INSERT INTO t2 VALUES (6, 6);
INSERT IGNORE INTO t1 SELECT NULL, t2.b FROM t2 ORDER BY t2.a;
SELECT * FROM t1 ORDER BY a;
a b
1 1
2 2
3 3
4 4
5 5
6 6
SELECT * FROM t1 ORDER BY a;
a b
1 1
2 2
3 3
4 4
5 5
6 6
drop table t1;
CREATE TABLE t1 (
a int unsigned not null auto_increment primary key,
b int unsigned,
unique (b)
) ENGINE=myisam;
INSERT INTO t1 VALUES (1, 1);
INSERT INTO t1 VALUES (2, 2);
INSERT INTO t1 VALUES (3, 3);
INSERT INTO t1 VALUES (4, 4);
INSERT IGNORE INTO t1 SELECT NULL, t2.b FROM t2 ORDER BY t2.a;
SELECT * FROM t1 ORDER BY a;
a b
1 1
2 2
3 3
4 4
5 5
6 6
SELECT * FROM t1 ORDER BY a;
a b
1 1
2 2
3 3
4 4
5 5
6 6
drop table t1, t2;
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;
drop table if exists t1,t2;
CREATE TABLE t1 (
a int unsigned not null auto_increment primary key,
b int unsigned
) ENGINE=NDB;
CREATE TABLE t2 (
a int unsigned not null auto_increment primary key,
b int unsigned
) ENGINE=NDB;
INSERT INTO t1 VALUES (NULL, 0);
INSERT INTO t1 SELECT NULL, 0 FROM t1;
INSERT INTO t2 VALUES (NULL, 0), (NULL,1);
SELECT * FROM t1 ORDER BY a;
a b
1 0
2 0
SELECT * FROM t2 ORDER BY a;
a b
1 0
2 1
UPDATE t1, t2 SET t1.b = (t2.b+4) WHERE t1.a = t2.a;
SELECT * FROM t1 ORDER BY a;
a b
1 4
2 5
SELECT * FROM t2 ORDER BY a;
a b
1 0
2 1
SELECT * FROM t1 ORDER BY a;
a b
1 4
2 5
SELECT * FROM t2 ORDER BY a;
a b
1 0
2 1
drop table t1,t2;
reset master;
CREATE TABLE t1 ( a INT );
INSERT INTO t1 VALUES (0);
UPDATE t1, (SELECT 3 as b) AS x SET t1.a = x.b;
select * from t1;
a
3
select * from t1;
a
3
drop table t1;
...@@ -9,11 +9,11 @@ start slave; ...@@ -9,11 +9,11 @@ start slave;
CREATE TABLE t1 ( CREATE TABLE t1 (
a int unsigned not null auto_increment primary key, a int unsigned not null auto_increment primary key,
b int unsigned b int unsigned
) ENGINE=MyISAM; ) ENGINE=NDB;
CREATE TABLE t2 ( CREATE TABLE t2 (
a int unsigned not null auto_increment primary key, a int unsigned not null auto_increment primary key,
b int unsigned b int unsigned
) ENGINE=MyISAM; ) ENGINE=NDB;
INSERT INTO t1 VALUES (NULL, 0); INSERT INTO t1 VALUES (NULL, 0);
INSERT INTO t1 SELECT NULL, 0 FROM t1; INSERT INTO t1 SELECT NULL, 0 FROM t1;
INSERT INTO t2 VALUES (NULL, 0), (NULL,1); INSERT INTO t2 VALUES (NULL, 0), (NULL,1);
...@@ -122,3 +122,75 @@ SELECT * FROM t1; ...@@ -122,3 +122,75 @@ SELECT * FROM t1;
i j x y z i j x y z
1 2 23 24 71 1 2 23 24 71
DROP TABLE t1, t2, t3; DROP TABLE t1, t2, t3;
DROP TABLE IF EXISTS t1;
Warnings:
Note 1051 Unknown table 't1'
DROP TABLE IF EXISTS t2;
Warnings:
Note 1051 Unknown table 't2'
CREATE TABLE t1 (
idp int(11) NOT NULL default '0',
idpro int(11) default NULL,
price decimal(19,4) default NULL,
PRIMARY KEY (idp)
);
CREATE TABLE t2 (
idpro int(11) NOT NULL default '0',
price decimal(19,4) default NULL,
nbprice int(11) default NULL,
PRIMARY KEY (idpro)
);
INSERT INTO t1 VALUES
(1,1,'3.0000'),
(2,2,'1.0000'),
(3,1,'1.0000'),
(4,1,'4.0000'),
(5,3,'2.0000'),
(6,2,'4.0000');
INSERT INTO t2 VALUES
(1,'0.0000',0),
(2,'0.0000',0),
(3,'0.0000',0);
update
t2
join
( select idpro, min(price) as min_price, count(*) as nbr_price
from t1
where idpro>0 and price>0
group by idpro
) as table_price
on t2.idpro = table_price.idpro
set t2.price = table_price.min_price,
t2.nbprice = table_price.nbr_price;
select "-- MASTER AFTER JOIN --" as "";
-- MASTER AFTER JOIN --
select * from t1;
idp idpro price
1 1 3.0000
2 2 1.0000
3 1 1.0000
4 1 4.0000
5 3 2.0000
6 2 4.0000
select * from t2;
idpro price nbprice
1 1.0000 3
2 1.0000 2
3 2.0000 1
select "-- SLAVE AFTER JOIN --" as "";
-- SLAVE AFTER JOIN --
select * from t1;
idp idpro price
1 1 3.0000
2 2 1.0000
3 1 1.0000
4 1 4.0000
5 3 2.0000
6 2 4.0000
select * from t2;
idpro price nbprice
1 1.0000 3
2 1.0000 2
3 2.0000 1
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;
stop slave;
create table t1 (a int) engine=NDB;
reset slave;
start slave;
stop slave;
start slave;
select max(a) from t1;
max(a)
8000
drop table t1;
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 (word CHAR(20) NOT NULL);
LOAD DATA INFILE '../../std_data/words.dat' INTO TABLE t1;
LOAD DATA LOCAL INFILE 'MYSQL_TEST_DIR/std_data/words.dat' INTO TABLE t1;
SELECT * FROM t1 ORDER BY word LIMIT 10;
word
Aarhus
Aarhus
Aarhus
Aarhus
Aaron
Aaron
Aaron
Aaron
Ababa
Ababa
STOP SLAVE;
SET PASSWORD FOR root@"localhost" = PASSWORD('foo');
START SLAVE;
SET PASSWORD FOR root@"localhost" = PASSWORD('');
CREATE TABLE t3(n INT);
INSERT INTO t3 VALUES(1),(2);
SELECT * FROM t3 ORDER BY n;
n
1
2
SELECT SUM(LENGTH(word)) FROM t1;
SUM(LENGTH(word))
1022
DROP TABLE t1,t3;
CREATE TABLE t1 (n INT) ENGINE=NDB;
RESET MASTER;
STOP SLAVE;
RESET SLAVE;
SELECT COUNT(*) FROM t1;
COUNT(*)
5000
LOCK TABLES t1 READ;
START SLAVE;
UNLOCK TABLES;
SELECT COUNT(*) FROM t1;
COUNT(*)
5000
DROP TABLE t1;
CREATE TABLE t1 (n INT);
INSERT INTO t1 VALUES(3456);
SELECT n FROM t1;
n
3456
DROP TABLE t1;
...@@ -25,11 +25,6 @@ SHOW TABLES; ...@@ -25,11 +25,6 @@ SHOW TABLES;
Tables_in_test_ignore Tables_in_test_ignore
t2 t2
INSERT INTO t2 VALUES (3,3), (4,4); INSERT INTO t2 VALUES (3,3), (4,4);
SHOW BINLOG EVENTS FROM 102;
Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 102 Query 1 195 use `test`; CREATE TABLE t1 (a INT, b INT)
master-bin.000001 195 Table_map 1 235 test.t1
master-bin.000001 235 Write_rows 1 282
**** On Slave **** **** On Slave ****
SHOW DATABASES; SHOW DATABASES;
Database Database
......
...@@ -7,7 +7,7 @@ start slave; ...@@ -7,7 +7,7 @@ start slave;
create table t1(a int not null primary key) engine=myisam; create table t1(a int not null primary key) engine=myisam;
insert delayed into t1 values (1),(2),(3); insert delayed into t1 values (1),(2),(3);
flush tables; flush tables;
select * from t1; SELECT * FROM t1 ORDER BY a;
a a
1 1
2 2
...@@ -19,7 +19,7 @@ master-bin.000001 102 Query 1 222 use `test`; create table t1(a int not null pri ...@@ -19,7 +19,7 @@ master-bin.000001 102 Query 1 222 use `test`; create table t1(a int not null pri
master-bin.000001 222 Table_map 1 261 test.t1 master-bin.000001 222 Table_map 1 261 test.t1
master-bin.000001 261 Write_rows 1 305 master-bin.000001 261 Write_rows 1 305
master-bin.000001 305 Query 1 380 use `test`; flush tables master-bin.000001 305 Query 1 380 use `test`; flush tables
select * from t1; SELECT * FROM t1 ORDER BY a;
a a
1 1
2 2
......
...@@ -29,17 +29,5 @@ a ...@@ -29,17 +29,5 @@ a
SELECT * FROM test.t2; SELECT * FROM test.t2;
a a
2 2
show binlog events;
Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 4 Format_desc 1 102 Server ver: VERSION, Binlog ver: 4
master-bin.000001 102 Query 1 193 use `test`; DROP TABLE IF EXISTS test.t2
master-bin.000001 193 Query 1 299 use `test`; CREATE TABLE test.t1 (a INT,PRIMARY KEY(a))
master-bin.000001 299 Query 1 405 use `test`; CREATE TABLE test.t2 (a INT,PRIMARY KEY(a))
master-bin.000001 405 Table_map 1 444 test.t1
master-bin.000001 444 Write_rows 1 483
master-bin.000001 483 Table_map 1 540 mysql.proc
master-bin.000001 540 Write_rows 1 723
master-bin.000001 723 Table_map 1 762 test.t2
master-bin.000001 762 Write_rows 1 796
DROP PROCEDURE IF EXISTS test.p1; DROP PROCEDURE IF EXISTS test.p1;
DROP TABLE IF EXISTS test.t1; DROP TABLE IF EXISTS test.t1;
...@@ -27,7 +27,11 @@ rpl_bit_npk : Bug#13418 ...@@ -27,7 +27,11 @@ rpl_bit_npk : Bug#13418
rpl_ddl : Bug#15963 SBR does not show "Definer" correctly rpl_ddl : Bug#15963 SBR does not show "Definer" correctly
rpl_ndb_auto_inc : Bug#17086 rpl_ndb_auto_inc : Bug#17086
rpl_ndb_basic : Bug#16228 [IN REVIEW] rpl_ndb_basic : Bug#16228 [IN REVIEW]
rpl_ndb_delete_nowhere : Bug#17400: Cluster Replication: delete of rows in table without pk fails rpl_ndb_charset : Bug#17246
rpl_ndb_ddl : Bug#17400: delete & update of rows in table without pk fails
rpl_ndb_delete_nowhere : Bug#17400: delete & update of rows in table without pk fails
rpl_ndb_multi_update3 : Bug#17400: delete & update of rows in table without pk fails
rpl_ndb_insert_ignore : Bugs: #17431: INSERT IGNORE INTO returns failed: 1296
rpl_ndb_relay_space : Bug#16993 rpl_ndb_relay_space : Bug#16993
rpl_ndb_sp007 : Bug #17290 rpl_ndb_sp007 : Bug #17290
rpl_sp : Bug#16456 rpl_sp : Bug#16456
......
##################################### #####################################
# Wrapper for rpl_auto_increment.test# # Wrapper for rpl_auto_increment.test#
##################################### #####################################
########################################################
# By JBM 2005-02-15 Wrapped to allow reuse of test code#
# Added to skip if ndb is default #
########################################################
-- source include/not_ndb_default.inc
-- source include/have_innodb.inc -- source include/have_innodb.inc
let $engine_type=innodb; let $engine_type=innodb;
let $engine_type2=myisam; let $engine_type2=myisam;
......
##################################### #####################################
# Wrapper for rpl_commit_after_flush# # Wrapper for rpl_commit_after_flush#
##################################### #####################################
########################################################
# By JBM 2005-02-15 Wrapped to allow reuse of test code#
# Added to skip if ndb is default #
########################################################
-- source include/not_ndb_default.inc
-- source include/have_innodb.inc -- source include/have_innodb.inc
let $engine_type=innodb; let $engine_type=innodb;
-- source extra/rpl_tests/rpl_commit_after_flush.test -- source extra/rpl_tests/rpl_commit_after_flush.test
...@@ -24,10 +24,10 @@ ...@@ -24,10 +24,10 @@
# #
# 3. The assignment of the DDL command to be tested to $my_stmt can # 3. The assignment of the DDL command to be tested to $my_stmt can
# be a bit difficult. "'" must be avoided, because the test # be a bit difficult. "'" must be avoided, because the test
# routine "include/rpl_stmt_seq.inc" performs a # routine "include/rpl_stmt_seq.inc" performs a
# eval SELECT CONCAT('######## ','$my_stmt',' ########') as ""; # eval SELECT CONCAT('######## ','$my_stmt',' ########') as "";
# #
--source include/not_ndb_default.inc
--source include/have_innodb.inc --source include/have_innodb.inc
--source include/master-slave.inc --source include/master-slave.inc
let $engine_type= "InnoDB"; let $engine_type= "InnoDB";
......
################################ ################################
# Wrapper for rpl_deadlock.test# # Wrapper for rpl_deadlock.test#
################################ ################################
########################################################
# By JBM 2005-02-15 Wrapped to allow reuse of test code#
# Added to skip if ndb is default #
########################################################
-- source include/not_ndb_default.inc
-- source include/have_innodb.inc -- source include/have_innodb.inc
let $engine_type=innodb; let $engine_type=innodb;
-- source extra/rpl_tests/rpl_deadlock.test -- source extra/rpl_tests/rpl_deadlock.test
####################################### #######################################
# Wrapper for rpl_failed_optimize.test# # Wrapper for rpl_failed_optimize.test#
####################################### #######################################
########################################################
# By JBM 2005-02-15 Wrapped to allow reuse of test code#
# Added to skip if ndb is default #
########################################################
-- source include/not_ndb_default.inc
-- source include/have_innodb.inc -- source include/have_innodb.inc
let $engine_type=InnoDB; let $engine_type=InnoDB;
-- source extra/rpl_tests/rpl_failed_optimize.test -- source extra/rpl_tests/rpl_failed_optimize.test
...@@ -5,6 +5,7 @@ ...@@ -5,6 +5,7 @@
# Change Date: 2006-01-17 # Change Date: 2006-01-17
# Change: FK not supported, skip test when NDB is forced # Change: FK not supported, skip test when NDB is forced
#################################### ####################################
-- source include/not_ndb_default.inc
-- source include/have_innodb.inc -- source include/have_innodb.inc
let $engine_type=INNODB; let $engine_type=INNODB;
-- source extra/rpl_tests/rpl_foreign_key.test -- source extra/rpl_tests/rpl_foreign_key.test
################################# #################################
# Wrapper for rpl_insert_id.test# # Wrapper for rpl_insert_id.test#
################################# #################################
########################################################
# By JBM 2005-02-15 Wrapped to allow reuse of test code#
# Added to skip if ndb is default #
########################################################
-- source include/not_ndb_default.inc
-- source include/have_innodb.inc -- source include/have_innodb.inc
let $engine_type=innodb; let $engine_type=innodb;
-- source extra/rpl_tests/rpl_insert_id.test -- source extra/rpl_tests/rpl_insert_id.test
################################# #################################
# Wrapper for rpl_insert_id.test# # Wrapper for rpl_insert_id.test#
################################# #################################
########################################################
# By JBM 2005-02-15 Wrapped to allow reuse of test code#
# Added to skip if ndb is default #
########################################################
-- source include/not_ndb_default.inc
-- source include/have_innodb.inc -- source include/have_innodb.inc
let $engine_type=innodb; let $engine_type=innodb;
-- source extra/rpl_tests/rpl_insert_id_pk.test -- source extra/rpl_tests/rpl_insert_id_pk.test
##################################### #####################################
# Wrapper for rpl_insert_ignore.test# # Wrapper for rpl_insert_ignore.test#
##################################### #####################################
-- source include/not_ndb_default.inc
-- source include/have_innodb.inc -- source include/have_innodb.inc
let $engine_type=innodb; let $engine_type=innodb;
let $engine_type2=myisam; let $engine_type2=myisam;
......
########################################################
# By JBM 2005-02-15 Wrapped to allow reuse of test code#
# Added to skip if ndb is default #
########################################################
-- source include/not_ndb_default.inc
let $engine_type=MyISAM; let $engine_type=MyISAM;
-- source extra/rpl_tests/rpl_loaddata.test -- source extra/rpl_tests/rpl_loaddata.test
########################################################
# By JBM 2005-02-15 Wrapped to allow reuse of test code#
# Added to skip if ndb is default #
########################################################
-- source include/not_ndb_default.inc
let $engine_type=MyISAM; let $engine_type=MyISAM;
-- source extra/rpl_tests/rpl_multi_update.test -- source extra/rpl_tests/rpl_multi_update.test
#######################################################
# Wrapper for rpl_multi_update2.test to allow multi #
# Engines to reuse test code. By JBM 2006-02-15 #
# Added comments section and to skip when ndb is #
# Default engine. #
#######################################################
--source include/not_ndb_default.inc
let $engine_type=MyISAM; let $engine_type=MyISAM;
--source extra/rpl_tests/rpl_multi_update2.test --source extra/rpl_tests/rpl_multi_update2.test
#######################################################
# Wrapper for rpl_multi_update3.test to allow multi #
# Engines to reuse test code. By JBM 2006-02-15 #
# Added comments section and to skip when ndb is #
# Default engine. #
#######################################################
--source include/not_ndb_default.inc
let $engine_type=MyISAM; let $engine_type=MyISAM;
-- source extra/rpl_tests/rpl_multi_update3.test -- source extra/rpl_tests/rpl_multi_update3.test
########################################################
# By JBM 2005-02-15 Wrapped to allow reuse of test code#
########################################################
--source include/have_ndb.inc
let $engine_type=NDB;
--source extra/rpl_tests/rpl_row_UUID.test
########################################################
# By JBM 2005-02-15 Wrapped to allow reuse of test code#
########################################################
--source include/have_ndb.inc
let $engine_type=NDB;
-- source extra/rpl_tests/rpl_row_charset.test
#####################################
# Wrapper for rpl_commit_after_flush#
# Wrapped to reuse test code on #
# Different engines #
# By JBM 2004-02-15 #
#####################################
-- source include/have_ndb.inc
let $engine_type=NDB;
-- source extra/rpl_tests/rpl_commit_after_flush.test
######################## rpl_ddl.test ########################
# #
# DDL statements (sometimes with implicit COMMIT) executed #
# by the master and it's propagation into the slave #
# #
##############################################################
#
# NOTE, PLEASE BE CAREFUL, WHEN MODIFYING THE TESTS !!
#
# 1. !All! objects to be dropped, renamed, altered ... must be created
# in AUTOCOMMIT= 1 mode before AUTOCOMMIT is set to 0 and the test
# sequences start.
#
# 2. Never use a test object, which was direct or indirect affected by a
# preceeding test sequence again.
# Except table d1.t1 where ONLY DML is allowed.
#
# If one preceeding test sequence hits a (sometimes not good visible,
# because the sql error code of the statement might be 0) bug
# and these rules are ignored, a following test sequence might earn ugly
# effects like failing 'sync_slave_with_master', crashes of the slave or
# abort of the test case etc..
#
# 3. The assignment of the DDL command to be tested to $my_stmt can
# be a bit difficult. "'" must be avoided, because the test
# routine "include/rpl_stmt_seq.inc" performs a
# eval SELECT CONCAT('######## ','$my_stmt',' ########') as "";
#
--source include/have_ndb.inc
--source include/master-slave.inc
let $engine_type= "NDB";
-- source extra/rpl_tests/rpl_ddl.test
#####################################
# Wrapper for rpl_insert_ignore.test#
#####################################
-- source include/have_ndb.inc
let $engine_type=NDB;
let $engine_type2=myisam;
-- source extra/rpl_tests/rpl_insert_ignore.test
--replicate-ignore-table=nothing.sensible
############################################################
# By JBM 2006-02-15 Wrapper for rpl_multi_update2.test #
# to reuse test code between engine runs #
############################################################
-- source include/have_ndb.inc
let $engine_type=NDB;
--source extra/rpl_tests/rpl_multi_update2.test
############################################################
# By JBM 2006-02-15 Wrapper for rpl_multi_update3.test #
# to reuse test code between engine runs #
############################################################
-- source include/have_ndb.inc
let $engine_type=NDB;
-- source extra/rpl_tests/rpl_multi_update3.test
-O max_relay_log_size=16384
--innodb
--log-warnings
############################################################
# By JBM 2006-02-15 Wrapper for rpl_relayrotate.test #
# to reuse test code between engine runs #
############################################################
-- source include/have_ndb.inc
-- source include/have_ndb_extra.inc
let $engine_type=NDB;
-- source extra/rpl_tests/rpl_relayrotate.test
########################################################
# By JBM 2005-02-15 Wrapped to allow reuse of test code#
########################################################
--source include/have_ndb.inc
let $engine_type=NDB;
-- source extra/rpl_tests/rpl_row_001.test
...@@ -15,6 +15,7 @@ ...@@ -15,6 +15,7 @@
#Change Date: 2006-02-03 # #Change Date: 2006-02-03 #
#Change: Added Comments # #Change: Added Comments #
################################### ###################################
-- source include/not_ndb_default.inc
-- source include/have_innodb.inc -- source include/have_innodb.inc
let $engine_type=InnoDB; let $engine_type=InnoDB;
-- source extra/rpl_tests/rpl_sv_relay_space.test -- source extra/rpl_tests/rpl_sv_relay_space.test
......
...@@ -15,6 +15,7 @@ ...@@ -15,6 +15,7 @@
#Change Date: 2006-02-03 # #Change Date: 2006-02-03 #
#Change: Added Comments # #Change: Added Comments #
################################### ###################################
-- source include/not_ndb_default.inc
let $engine_type=MyISAM; let $engine_type=MyISAM;
-- source extra/rpl_tests/rpl_sv_relay_space.test -- source extra/rpl_tests/rpl_sv_relay_space.test
#######################################################
# Wrapper for rpl_relayrotate.test to allow multi #
# Engines to reuse test code. By JBM 2006-02-15 #
# Added comments section and to skip when ndb is #
# Default engine. #
#######################################################
-- source include/not_ndb_default.inc
-- source include/have_innodb.inc -- source include/have_innodb.inc
let $engine_type=innodb; let $engine_type=innodb;
-- source extra/rpl_tests/rpl_relayrotate.test -- source extra/rpl_tests/rpl_relayrotate.test
########################################################
# By JBM 2005-02-15 Wrapped to allow reuse of test code#
# Added to skip if ndb is default #
########################################################
-- source include/not_ndb_default.inc
let $engine_type=MYISAM; let $engine_type=MYISAM;
-- source extra/rpl_tests/rpl_row_001.test -- source extra/rpl_tests/rpl_row_001.test
########################################################
# By JBM 2005-02-15 Wrapped to allow reuse of test code#
# Added to skip if ndb is default #
########################################################
-- source include/not_ndb_default.inc
let $engine_type=myisam; let $engine_type=myisam;
--source extra/rpl_tests/rpl_row_UUID.test --source extra/rpl_tests/rpl_row_UUID.test
...@@ -17,7 +17,7 @@ USE test_ignore; ...@@ -17,7 +17,7 @@ USE test_ignore;
CREATE TABLE t2 (a INT, b INT); CREATE TABLE t2 (a INT, b INT);
SHOW TABLES; SHOW TABLES;
INSERT INTO t2 VALUES (3,3), (4,4); INSERT INTO t2 VALUES (3,3), (4,4);
SHOW BINLOG EVENTS FROM 102; #SHOW BINLOG EVENTS FROM 102;
sync_slave_with_master; sync_slave_with_master;
--echo **** On Slave **** --echo **** On Slave ****
SHOW DATABASES; SHOW DATABASES;
......
################################# #################################
# Wrapper for rpl_row_blob.test# # Wrapper for rpl_row_blob.test#
################################# #################################
########################################################
# By JBM 2005-02-15 Wrapped to allow reuse of test code#
# Added to skip if ndb is default #
########################################################
-- source include/not_ndb_default.inc
-- source include/have_innodb.inc -- source include/have_innodb.inc
let $engine_type=InnoDB; let $engine_type=InnoDB;
-- source extra/rpl_tests/rpl_row_blob.test -- source extra/rpl_tests/rpl_row_blob.test
......
################################# #################################
# Wrapper for rpl_row_blob.test# # Wrapper for rpl_row_blob.test#
################################# #################################
########################################################
# By JBM 2005-02-15 Wrapped to allow reuse of test code#
# Added to skip if ndb is default #
########################################################
-- source include/not_ndb_default.inc
let $engine_type=myisam; let $engine_type=myisam;
-- source extra/rpl_tests/rpl_row_blob.test -- source extra/rpl_tests/rpl_row_blob.test
########################################################
# By JBM 2005-02-15 Wrapped to allow reuse of test code#
# Added to skip if ndb is default #
########################################################
-- source include/not_ndb_default.inc
let $engine_type=myisam; let $engine_type=myisam;
-- source extra/rpl_tests/rpl_row_charset.test -- source extra/rpl_tests/rpl_row_charset.test
########################################################
# By JBM 2005-02-15 Wrapped to allow reuse of test code#
# Added to skip if ndb is default #
########################################################
-- source include/not_ndb_default.inc
let $engine_type=myisam; let $engine_type=myisam;
-- source extra/rpl_tests/rpl_row_delayed_ins.test -- source extra/rpl_tests/rpl_row_delayed_ins.test
################################### ###################################
# Wrapper for rpl_row_func003.test# # Wrapper for rpl_row_func003.test#
################################### ###################################
########################################################
# By JBM 2005-02-15 Wrapped to allow reuse of test code#
# Added to skip if ndb is default #
########################################################
-- source include/not_ndb_default.inc
-- source include/have_innodb.inc -- source include/have_innodb.inc
let $engine_type=INNODB; let $engine_type=INNODB;
-- source extra/rpl_tests/rpl_row_func003.test -- source extra/rpl_tests/rpl_row_func003.test
...@@ -5,6 +5,11 @@ ...@@ -5,6 +5,11 @@
# Same test. NDB produced a diff # # Same test. NDB produced a diff #
# bin-log # # bin-log #
################################### ###################################
########################################################
# By JBM 2005-02-15 Wrapped to allow reuse of test code#
# Added to skip if ndb is default #
########################################################
-- source include/not_ndb_default.inc
-- source include/have_binlog_format_row.inc -- source include/have_binlog_format_row.inc
let $engine_type=MyISAM; let $engine_type=MyISAM;
-- source extra/rpl_tests/rpl_log.test -- source extra/rpl_tests/rpl_log.test
......
...@@ -5,6 +5,7 @@ ...@@ -5,6 +5,7 @@
# Same test. NDB produced a diff # # Same test. NDB produced a diff #
# bin-log # # bin-log #
################################### ###################################
-- source include/not_ndb_default.inc
-- source include/have_binlog_format_row.inc -- source include/have_binlog_format_row.inc
-- source include/have_innodb.inc -- source include/have_innodb.inc
let $engine_type=InnoDB; let $engine_type=InnoDB;
......
...@@ -4,6 +4,7 @@ ...@@ -4,6 +4,7 @@
# Test of manual relay log rotation with FLUSH LOGS. # Test of manual relay log rotation with FLUSH LOGS.
# Requires statement logging # Requires statement logging
-- source include/not_ndb_default.inc
-- source include/have_binlog_format_row.inc -- source include/have_binlog_format_row.inc
-- source extra/rpl_tests/rpl_max_relay_size.test -- source extra/rpl_tests/rpl_max_relay_size.test
let $engine_type=MyISAM;
-- source extra/rpl_tests/rpl_row_multi_update3.test
################################# #################################
# Wrapper for rpl_row_sp002.test# # Wrapper for rpl_row_sp002.test#
################################# #################################
########################################################
# By JBM 2005-02-15 Wrapped to allow reuse of test code#
# Added to skip if ndb is default #
########################################################
-- source include/not_ndb_default.inc
-- source include/have_innodb.inc -- source include/have_innodb.inc
let $engine_type=INNODB; let $engine_type=INNODB;
-- source extra/rpl_tests/rpl_row_sp002.test -- source extra/rpl_tests/rpl_row_sp002.test
################################# #################################
# Wrapper for rpl_row_sp003.test# # Wrapper for rpl_row_sp003.test#
################################# #################################
########################################################
# By JBM 2005-02-15 Wrapped to allow reuse of test code#
# Added to skip if ndb is default #
########################################################
-- source include/not_ndb_default.inc
-- source include/have_innodb.inc -- source include/have_innodb.inc
let $engine_type=INNODB; let $engine_type=INNODB;
-- source extra/rpl_tests/rpl_row_sp003.test -- source extra/rpl_tests/rpl_row_sp003.test
################################# #################################
# Wrapper for rpl_row_sp006.test# # Wrapper for rpl_row_sp006.test#
################################# #################################
########################################################
# By JBM 2005-02-15 Wrapped to allow reuse of test code#
# Added to skip if ndb is default #
########################################################
-- source include/not_ndb_default.inc
-- source include/have_innodb.inc -- source include/have_innodb.inc
let $engine_type=InnoDB; let $engine_type=InnoDB;
-- source extra/rpl_tests/rpl_row_sp006.test -- source extra/rpl_tests/rpl_row_sp006.test
################################# #################################
# Wrapper for rpl_row_sp007.test# # Wrapper for rpl_row_sp007.test#
################################# #################################
########################################################
# By JBM 2005-02-15 Wrapped to allow reuse of test code#
# Added to skip if ndb is default #
########################################################
-- source include/not_ndb_default.inc
-- source include/have_innodb.inc -- source include/have_innodb.inc
let $engine_type=INNODB; let $engine_type=INNODB;
-- source extra/rpl_tests/rpl_row_sp007.test -- source extra/rpl_tests/rpl_row_sp007.test
...@@ -46,11 +46,6 @@ connection slave; ...@@ -46,11 +46,6 @@ connection slave;
sync_with_master; sync_with_master;
SELECT * FROM test.t2; SELECT * FROM test.t2;
connection master;
let $VERSION=`select version()`;
--replace_result $VERSION VERSION
show binlog events;
# Cleanup # Cleanup
connection master; connection master;
......
-- source include/not_ndb_default.inc
-- source include/have_binlog_format_row.inc -- source include/have_binlog_format_row.inc
-- source include/master-slave.inc -- source include/master-slave.inc
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment