Commit c5517cd8 authored by Jan Lindström's avatar Jan Lindström

MDEV-23638 : DROP TRIGGER in Galera Cluster not replicating

Drop trigger handling was missing from wsrep_can_run_in_toi
in 10.5 for some reason.
parent 9842ed4e
......@@ -32,3 +32,47 @@ id
200
DROP TRIGGER tr1;
DROP TABLE t1;
connection node_1;
CREATE TABLE t1(id int not null auto_increment, value int not null, primary key (id)) engine=innodb;
CREATE TABLE t2(id int not null auto_increment, tbl varchar(64) not null, action varchar(64) not null, primary key (id));
create trigger log_insert after insert on t1
for each row begin
insert into t2(tbl, action) values ('t1', 'INSERT');
end|
insert into t1(value) values (1);
insert into t1(value) values (2);
connection node_2;
set session wsrep_sync_wait=15;
insert into t1(value) values (3);
insert into t1(value) values (4);
select * from t2;
id tbl action
1 t1 INSERT
3 t1 INSERT
4 t1 INSERT
6 t1 INSERT
connection node_1;
drop trigger if exists log_insert;
insert into t1(value) values (5);
select * from t2;
id tbl action
1 t1 INSERT
3 t1 INSERT
4 t1 INSERT
6 t1 INSERT
connection node_2;
insert into t1(value) values (6);
select * from t2;
id tbl action
1 t1 INSERT
3 t1 INSERT
4 t1 INSERT
6 t1 INSERT
connection node_1;
select * from t2;
id tbl action
1 t1 INSERT
3 t1 INSERT
4 t1 INSERT
6 t1 INSERT
drop table t1, t2;
......@@ -33,4 +33,40 @@ SELECT * FROM t1;
DROP TRIGGER tr1;
DROP TABLE t1;
#
# MDEV-23638 : DROP TRIGGER in Galera Cluster not replicating
#
--connection node_1
CREATE TABLE t1(id int not null auto_increment, value int not null, primary key (id)) engine=innodb;
CREATE TABLE t2(id int not null auto_increment, tbl varchar(64) not null, action varchar(64) not null, primary key (id));
--delimiter |
create trigger log_insert after insert on t1
for each row begin
insert into t2(tbl, action) values ('t1', 'INSERT');
end|
--delimiter ;
insert into t1(value) values (1);
insert into t1(value) values (2);
--connection node_2
set session wsrep_sync_wait=15;
insert into t1(value) values (3);
insert into t1(value) values (4);
select * from t2;
--connection node_1
drop trigger if exists log_insert;
insert into t1(value) values (5);
select * from t2;
--connection node_2
insert into t1(value) values (6);
select * from t2;
--connection node_1
select * from t2;
drop table t1, t2;
......@@ -1927,6 +1927,14 @@ bool wsrep_can_run_in_toi(THD *thd, const char *db, const char *table,
}
return true;
break;
case SQLCOM_DROP_TRIGGER:
DBUG_ASSERT(table_list);
if (thd->find_temporary_table(table_list))
{
return false;
}
return true;
break;
case SQLCOM_ALTER_TABLE:
if (create_info &&
!wsrep_should_replicate_ddl(thd, create_info->db_type->db_type))
......
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