mirror of
https://github.com/MariaDB/server.git
synced 2025-12-24 11:21:21 +03:00
... using TO Fixed the 'wsrep_replicate_myisam' check to allow only limited set of commands. Added a debug assert to discover such cases.
111 lines
2.6 KiB
Plaintext
111 lines
2.6 KiB
Plaintext
connection node_1;
|
|
connection node_1;
|
|
SET GLOBAL wsrep_replicate_myisam = TRUE;
|
|
connection node_2;
|
|
SET GLOBAL wsrep_replicate_myisam = TRUE;
|
|
connection node_1;
|
|
CREATE TABLE t1 (f1 INT PRIMARY KEY) Engine=MyISAM;
|
|
INSERT INTO t1 VALUES (1);
|
|
INSERT INTO t1 VALUES (2), (3);
|
|
INSERT INTO t1 SELECT 4 FROM DUAL UNION ALL SELECT 5 FROM DUAL;
|
|
connection node_2;
|
|
SELECT COUNT(*) = 5 FROM t1;
|
|
COUNT(*) = 5
|
|
1
|
|
DROP TABLE t1;
|
|
connection node_1;
|
|
CREATE TABLE t1 (f1 INTEGER PRIMARY KEY, f2 VARCHAR(100)) ENGINE=MyISAM;
|
|
INSERT INTO t1 VALUES (1, 'abc'),(2,'abc'), (3, 'xxx');
|
|
REPLACE INTO t1 VALUES (1, 'klm'), (2,'xyz');
|
|
REPLACE INTO t1 SELECT 3, 'yyy' FROM DUAL;
|
|
connection node_2;
|
|
SELECT COUNT(*) = 3 FROM t1;
|
|
COUNT(*) = 3
|
|
1
|
|
SELECT COUNT(*) = 1 FROM t1 WHERE f1 = 1 AND f2 = 'klm';
|
|
COUNT(*) = 1
|
|
1
|
|
SELECT COUNT(*) = 1 FROM t1 WHERE f1 = 2 AND f2 = 'xyz';
|
|
COUNT(*) = 1
|
|
1
|
|
SELECT COUNT(*) = 1 FROM t1 WHERE f1 = 3 AND f2 = 'yyy';
|
|
COUNT(*) = 1
|
|
1
|
|
connection node_1;
|
|
UPDATE t1 SET f2 = 'zzz' WHERE f2 = 'yyy';
|
|
connection node_2;
|
|
SELECT COUNT(*) = 1 FROM t1 WHERE f2 = 'zzz';
|
|
COUNT(*) = 1
|
|
1
|
|
connection node_1;
|
|
DELETE FROM t1 WHERE f2 = 'zzz';
|
|
connection node_2;
|
|
SELECT COUNT(*) = 0 FROM t1 WHERE f2 = 'zzz';
|
|
COUNT(*) = 0
|
|
1
|
|
connection node_1;
|
|
TRUNCATE TABLE t1;
|
|
connection node_2;
|
|
SELECT COUNT(*) = 0 FROM t1;
|
|
COUNT(*) = 0
|
|
1
|
|
DROP TABLE t1;
|
|
connection node_1;
|
|
CREATE TABLE t1 (f1 INTEGER) ENGINE=MyISAM;
|
|
CREATE TABLE t2 (f1 INTEGER) ENGINE=InnoDB;
|
|
SET AUTOCOMMIT=OFF;
|
|
START TRANSACTION;
|
|
INSERT INTO t1 VALUES (1);
|
|
INSERT INTO t2 VALUES (1);
|
|
COMMIT;
|
|
connection node_2;
|
|
SELECT COUNT(*) = 1 FROM t1;
|
|
COUNT(*) = 1
|
|
1
|
|
SELECT COUNT(*) = 1 FROM t2;
|
|
COUNT(*) = 1
|
|
1
|
|
connection node_1;
|
|
START TRANSACTION;
|
|
INSERT INTO t1 VALUES (2);
|
|
INSERT INTO t2 VALUES (2);
|
|
ROLLBACK;
|
|
Warnings:
|
|
Warning 1196 Some non-transactional changed tables couldn't be rolled back
|
|
connection node_2;
|
|
SELECT COUNT(*) = 2 FROM t1;
|
|
COUNT(*) = 2
|
|
1
|
|
SELECT COUNT(*) = 1 FROM t2;
|
|
COUNT(*) = 1
|
|
1
|
|
DROP TABLE t1;
|
|
DROP TABLE t2;
|
|
connection node_1;
|
|
CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=MyISAM;
|
|
CREATE TABLE t2 (f2 INTEGER PRIMARY KEY) ENGINE=InnoDB;
|
|
START TRANSACTION;
|
|
INSERT INTO t1 VALUES (1);
|
|
INSERT INTO t2 VALUES (1);
|
|
connection node_2;
|
|
INSERT INTO t1 VALUES (1);
|
|
ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
|
|
connection node_1;
|
|
COMMIT;
|
|
DROP TABLE t1;
|
|
DROP TABLE t2;
|
|
#
|
|
# MDEV-11152: wsrep_replicate_myisam: SELECT gets replicated using TO
|
|
#
|
|
connection node_1;
|
|
CREATE TABLE t1 (i INT) ENGINE=INNODB;
|
|
INSERT INTO t1 VALUES(1);
|
|
SELECT * FROM t1;
|
|
i
|
|
1
|
|
DROP TABLE t1;
|
|
connection node_1;
|
|
SET GLOBAL wsrep_replicate_myisam = 0;
|
|
connection node_2;
|
|
SET GLOBAL wsrep_replicate_myisam = 0;
|