mirror of
https://github.com/MariaDB/server.git
synced 2025-05-29 21:42:28 +03:00

epilogue to an SQL statement should not have an error code even when the SQL statement itself has an error code.
81 lines
2.0 KiB
Plaintext
81 lines
2.0 KiB
Plaintext
# See if queries that use both auto_increment and LAST_INSERT_ID()
|
|
# are replicated well
|
|
|
|
# We also check how the foreign_key_check variable is replicated
|
|
|
|
source include/master-slave.inc;
|
|
source include/have_innodb.inc
|
|
connection master;
|
|
drop table if exists t1;
|
|
create table t1(a int auto_increment, key(a));
|
|
create table t2(b int auto_increment, c int, key(b));
|
|
insert into t1 values (1),(2),(3);
|
|
insert into t1 values (null);
|
|
insert into t2 values (null,last_insert_id());
|
|
save_master_pos;
|
|
connection slave;
|
|
sync_with_master;
|
|
select * from t1;
|
|
select * from t2;
|
|
connection master;
|
|
#check if multi-line inserts,
|
|
#which set last_insert_id to the first id inserted,
|
|
#are replicated the same way
|
|
drop table t1;
|
|
drop table t2;
|
|
--disable_warnings
|
|
create table t1(a int auto_increment, key(a)) type=innodb;
|
|
create table t2(b int auto_increment, c int, key(b), foreign key(b) references t1(a)) type=innodb;
|
|
--enable_warnings
|
|
SET FOREIGN_KEY_CHECKS=0;
|
|
insert into t1 values (10);
|
|
insert into t1 values (null),(null),(null);
|
|
insert into t2 values (5,0);
|
|
insert into t2 values (null,last_insert_id());
|
|
SET FOREIGN_KEY_CHECKS=1;
|
|
save_master_pos;
|
|
connection slave;
|
|
sync_with_master;
|
|
select * from t1;
|
|
select * from t2;
|
|
connection master;
|
|
|
|
# check if INSERT SELECT in auto_increment is well replicated (bug #490)
|
|
|
|
drop table t2;
|
|
drop table t1;
|
|
create table t1(a int auto_increment, key(a));
|
|
create table t2(b int auto_increment, c int, key(b));
|
|
insert into t1 values (10);
|
|
insert into t1 values (null),(null),(null);
|
|
insert into t2 values (5,0);
|
|
insert into t2 (c) select * from t1;
|
|
select * from t2;
|
|
save_master_pos;
|
|
connection slave;
|
|
sync_with_master;
|
|
select * from t1;
|
|
select * from t2;
|
|
connection master;
|
|
drop table t1;
|
|
drop table t2;
|
|
save_master_pos;
|
|
connection slave;
|
|
sync_with_master;
|
|
|
|
#
|
|
# Bug#8412: Error codes reported in binary log for CHARACTER SET,
|
|
# FOREIGN_KEY_CHECKS
|
|
#
|
|
connection master;
|
|
SET TIMESTAMP=1000000000;
|
|
CREATE TABLE t1 ( a INT UNIQUE );
|
|
SET FOREIGN_KEY_CHECKS=0;
|
|
--error 1062
|
|
INSERT INTO t1 VALUES (1),(1);
|
|
sync_slave_with_master;
|
|
|
|
|
|
|
|
|