mirror of
https://github.com/MariaDB/server.git
synced 2025-08-08 11:22:35 +03:00
after dfb41fddf6
tables that failed to drop are excluded from the
binlogged DROP TABLE statement. It means that the slave should not
expect any errors when executing DROP TABLE, and the binlog should
report that no error has happened, even if it was.
Do not write error code into the binlogged DROP TABLE,
and remove all code that was needed to compute it.
76 lines
1.9 KiB
Plaintext
76 lines
1.9 KiB
Plaintext
include/master-slave.inc
|
|
[connection master]
|
|
CREATE TABLE t1 (a INT AUTO_INCREMENT KEY) ENGINE=INNODB;
|
|
CREATE TABLE t2 (b INT AUTO_INCREMENT KEY, c INT, FOREIGN KEY(b) REFERENCES t1(a)) ENGINE=INNODB;
|
|
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;
|
|
SELECT * FROM t1 ORDER BY a;
|
|
a
|
|
10
|
|
11
|
|
12
|
|
13
|
|
SELECT * FROM t2 ORDER BY b;
|
|
b c
|
|
5 0
|
|
6 11
|
|
connection slave;
|
|
SELECT * FROM t1 ORDER BY a;
|
|
a
|
|
10
|
|
11
|
|
12
|
|
13
|
|
SELECT * FROM t2 ORDER BY b;
|
|
b c
|
|
5 0
|
|
6 11
|
|
connection master;
|
|
SET TIMESTAMP=1000000000;
|
|
CREATE TABLE t3 ( a INT UNIQUE );
|
|
SET FOREIGN_KEY_CHECKS=0;
|
|
INSERT INTO t3 VALUES (1),(1);
|
|
ERROR 23000: Duplicate entry '1' for key 'a'
|
|
connection slave;
|
|
connection master;
|
|
SET FOREIGN_KEY_CHECKS=0;
|
|
DROP TABLE IF EXISTS t1,t2,t3;
|
|
SET FOREIGN_KEY_CHECKS=1;
|
|
connection slave;
|
|
connection master;
|
|
create table t1 (b int primary key) engine = INNODB;
|
|
create table t2 (a int primary key, b int, foreign key (b) references t1(b)) engine = INNODB;
|
|
insert into t1 set b=1;
|
|
insert into t2 set a=1, b=1;
|
|
set foreign_key_checks=0;
|
|
delete from t1;
|
|
must sync w/o a problem (could not with the buggy code)
|
|
connection slave;
|
|
select count(*) from t1 /* must be zero */;
|
|
count(*)
|
|
0
|
|
connection master;
|
|
drop table t2,t1;
|
|
set foreign_key_checks=1;
|
|
#
|
|
# MDEV-25530 Error 1451 on slave: Cannot delete or update a parent row: a foreign key constraint fails
|
|
#
|
|
create table t1 (id int primary key)engine=innodb;
|
|
create table t2 (id int not null primary key auto_increment,
|
|
id2 int default null, key f1 (id2),
|
|
constraint f1 foreign key (id2) references t1 (id) on delete cascade) engine=innodb;
|
|
drop table t1,t2;
|
|
ERROR 23000: Cannot delete or update a parent row: a foreign key constraint fails
|
|
connection slave;
|
|
show tables;
|
|
Tables_in_test
|
|
t1
|
|
connection master;
|
|
drop table t1;
|
|
connection slave;
|
|
include/rpl_end.inc
|