mariadb/mysql-test/suite/galera/t/galera_temporary_sequences.test
Jan Lindström 94e5b43ff5 MDEV-31335 : Create sequence can cause inconsistency
Do not start TOI for CREATE TEMPORARY SEQUENCE because
object is local only and not replicated. Similarly,
avoid starting RSU for TEMPORARY SEQUENCEs. Finally,
we need to run commit hooks for TEMPORARY SEQUENCEs
because CREATE TEMPORARY SEQUENCE does implicit
commit for previous changes that need to be replicated
and committed.

Signed-off-by: Julius Goryavsky <julius.goryavsky@mariadb.com>
2023-05-31 12:35:29 +02:00

37 lines
874 B
Text

--source include/galera_cluster.inc
--source include/have_sequence.inc
--connection node_2
SET AUTOCOMMIT=0;
SET SESSION wsrep_OSU_method='RSU';
CREATE TABLE t (i int primary key, j int);
CREATE TEMPORARY SEQUENCE seq2 NOCACHE ENGINE=InnoDB;
COMMIT;
SET SESSION wsrep_OSU_method='RSU';
CREATE SEQUENCE seq1 NOCACHE ENGINE=InnoDB;
SET SESSION wsrep_OSU_method='TOI';
DROP TABLE t;
DROP SEQUENCE seq2;
DROP SEQUENCE seq1;
--connection node_1
CREATE TABLE t (i int primary key, j int) ENGINE=InnoDB;
SET AUTOCOMMIT=0;
INSERT INTO t VALUES (3,0);
CREATE TEMPORARY SEQUENCE seq1 NOCACHE ENGINE=InnoDB;
COMMIT;
INSERT INTO t VALUES (4,0);
CREATE SEQUENCE seq2 NOCACHE ENGINE=InnoDB;
commit;
--connection node_2
SELECT * FROM t;
--error ER_NO_SUCH_TABLE
SHOW CREATE TABLE seq1;
SHOW CREATE TABLE seq2;
--connection node_1
DROP TABLE t;
DROP SEQUENCE seq1;
DROP SEQUENCE seq2;