mariadb/mysql-test/suite/galera/t/galera_trigger.test
Daniele Sciascia 97f3207cf3 Fix MTR test galera.galera_trigger
Changed the test so that it does not rely on specific auto increment
ids. With Galera's default wsrep_auto_increment_control setting it is
not guaranteed that auto increments always start from 1. The test was
occasionally failing due to result content mismatch.

Reviewed-by: Jan Lindström <jan.lindstrom@mariadb.com>
2020-11-03 11:29:45 +02:00

72 lines
1.6 KiB
Text

--source include/galera_cluster.inc
#
# MDEV-21578 CREATE OR REPLACE TRIGGER in Galera cluster not replicating
#
CREATE TABLE IF NOT EXISTS t1 (id int(10) not null primary key) engine=innodb;
--delimiter |
CREATE OR REPLACE TRIGGER tr1
BEFORE INSERT ON t1 FOR EACH ROW
BEGIN
SET NEW.id = 100;
END|
--delimiter ;
INSERT INTO t1 VALUES (1);
SELECT * from t1;
--delimiter |
CREATE OR REPLACE TRIGGER tr1
BEFORE INSERT ON t1 FOR EACH ROW
BEGIN
SET NEW.id = 200;
END|
--delimiter ;
--connection node_2
SET SESSION wsrep_sync_wait=15;
SELECT * FROM t1;
INSERT INTO t1 values (2);
SELECT * FROM t1;
--connection node_1
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 tbl, action from t2;
--connection node_1
drop trigger if exists log_insert;
insert into t1(value) values (5);
select tbl, action from t2;
--connection node_2
insert into t1(value) values (6);
select tbl, action from t2;
--connection node_1
select tbl, action from t2;
drop table t1, t2;