mirror of
https://github.com/MariaDB/server.git
synced 2025-08-01 03:47:19 +03:00
256 lines
5.1 KiB
Plaintext
256 lines
5.1 KiB
Plaintext
connection node_2;
|
|
connection node_1;
|
|
connection node_1;
|
|
SET GLOBAL wsrep_mode = REPLICATE_MYISAM;
|
|
connection node_2;
|
|
SET GLOBAL wsrep_mode = REPLICATE_MYISAM;
|
|
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(*) AS EXPECT_5 FROM t1;
|
|
EXPECT_5
|
|
5
|
|
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(*) AS EXPECT_3 FROM t1;
|
|
EXPECT_3
|
|
3
|
|
SELECT COUNT(*) AS EXPECT_1 FROM t1 WHERE f1 = 1 AND f2 = 'klm';
|
|
EXPECT_1
|
|
1
|
|
SELECT COUNT(*) AS EXPECT_1 FROM t1 WHERE f1 = 2 AND f2 = 'xyz';
|
|
EXPECT_1
|
|
1
|
|
SELECT COUNT(*) AS EXPECT_1 FROM t1 WHERE f1 = 3 AND f2 = 'yyy';
|
|
EXPECT_1
|
|
1
|
|
connection node_1;
|
|
UPDATE t1 SET f2 = 'zzz' WHERE f2 = 'yyy';
|
|
connection node_2;
|
|
SELECT COUNT(*) AS EXPECT_1 FROM t1 WHERE f2 = 'zzz';
|
|
EXPECT_1
|
|
1
|
|
connection node_1;
|
|
DELETE FROM t1 WHERE f2 = 'zzz';
|
|
connection node_2;
|
|
SELECT COUNT(*) AS EXPECT_0 FROM t1 WHERE f2 = 'zzz';
|
|
EXPECT_0
|
|
0
|
|
connection node_1;
|
|
TRUNCATE TABLE t1;
|
|
connection node_2;
|
|
SELECT COUNT(*) AS EXPECT_0 FROM t1;
|
|
EXPECT_0
|
|
0
|
|
DROP TABLE t1;
|
|
connection node_1;
|
|
CREATE TABLE t1 (f1 INTEGER NOT NULL PRIMARY KEY) ENGINE=MyISAM;
|
|
CREATE TABLE t2 (f1 INTEGER NOT NULL PRIMARY KEY) ENGINE=InnoDB;
|
|
SET AUTOCOMMIT=OFF;
|
|
START TRANSACTION;
|
|
INSERT INTO t1 VALUES (1);
|
|
INSERT INTO t2 VALUES (1);
|
|
COMMIT;
|
|
connection node_2;
|
|
SELECT COUNT(*) AS EXPECT_1 FROM t1;
|
|
EXPECT_1
|
|
1
|
|
SELECT COUNT(*) AS EXPECT_1 FROM t2;
|
|
EXPECT_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(*) AS EXPECT_2 FROM t1;
|
|
EXPECT_2
|
|
2
|
|
SELECT COUNT(*) AS EXPECT_1 FROM t2;
|
|
EXPECT_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, t2;
|
|
connection node_1;
|
|
CREATE TABLE t1 (id INT NOT NULL PRIMARY KEY, b INT) ENGINE=MyISAM;
|
|
INSERT INTO t1 values (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10);
|
|
PREPARE upd from 'update t1 set b = 100 where id = 5';
|
|
PREPARE ins from 'insert into t1 values (11,11)';
|
|
PREPARE del from 'delete from t1 where id = 4';
|
|
PREPARE rep from 'replace into t1 values (12,12),(6,600)';
|
|
EXECUTE upd;
|
|
EXECUTE ins;
|
|
EXECUTE del;
|
|
EXECUTE rep;
|
|
SELECT * FROM t1 ORDER BY id;
|
|
id b
|
|
1 1
|
|
2 2
|
|
3 3
|
|
5 100
|
|
6 600
|
|
7 7
|
|
8 8
|
|
9 9
|
|
10 10
|
|
11 11
|
|
12 12
|
|
connection node_2;
|
|
SELECT * FROM t1 ORDER BY id;
|
|
id b
|
|
1 1
|
|
2 2
|
|
3 3
|
|
5 100
|
|
6 600
|
|
7 7
|
|
8 8
|
|
9 9
|
|
10 10
|
|
11 11
|
|
12 12
|
|
DROP TABLE t1;
|
|
connection node_1;
|
|
CREATE TABLE t1 (id INT NOT NULL PRIMARY KEY, b INT) ENGINE=MyISAM;
|
|
INSERT INTO t1 values (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10);
|
|
CREATE PROCEDURE proc()
|
|
BEGIN
|
|
UPDATE t1 set b = 100 WHERE id = 5;
|
|
INSERT INTO t1 VALUES (11,11);
|
|
DELETE FROM t1 WHERE id = 4;
|
|
REPLACE INTO t1 VALUES (12,12),(6,600);
|
|
COMMIT;
|
|
END|
|
|
CALL proc();
|
|
SELECT * FROM t1 ORDER BY id;
|
|
id b
|
|
1 1
|
|
2 2
|
|
3 3
|
|
5 100
|
|
6 600
|
|
7 7
|
|
8 8
|
|
9 9
|
|
10 10
|
|
11 11
|
|
12 12
|
|
connection node_2;
|
|
SELECT * FROM t1 ORDER BY id;
|
|
id b
|
|
1 1
|
|
2 2
|
|
3 3
|
|
5 100
|
|
6 600
|
|
7 7
|
|
8 8
|
|
9 9
|
|
10 10
|
|
11 11
|
|
12 12
|
|
DROP PROCEDURE proc;
|
|
DROP TABLE t1;
|
|
connection node_1;
|
|
CREATE TABLE t1 (id INT NOT NULL PRIMARY KEY, b INT) ENGINE=MyISAM;
|
|
CREATE TABLE t2 (id INT NOT NULL PRIMARY KEY AUTO_INCREMENT, b INT) ENGINE=MyISAM;
|
|
INSERT INTO t1 values (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10);
|
|
CREATE TRIGGER tr1 BEFORE INSERT ON t1 FOR EACH ROW INSERT INTO t2 VALUES (NULL, NEW.b);
|
|
CREATE TRIGGER tr2 BEFORE UPDATE ON t1 FOR EACH ROW INSERT INTO t2 VALUES (NULL, OLD.b),(NULL, NEW.b);
|
|
CREATE TRIGGER tr3 BEFORE DELETE ON t1 FOR EACH ROW INSERT INTO t2 VALUES (NULL, OLD.b);
|
|
INSERT INTO t1 VALUES (11,11);
|
|
UPDATE t1 SET b = 200 WHERE id = 2;
|
|
DELETE FROM t1 where id = 5;
|
|
SELECT * FROM t1 ORDER BY id;
|
|
id b
|
|
1 1
|
|
2 200
|
|
3 3
|
|
4 4
|
|
6 6
|
|
7 7
|
|
8 8
|
|
9 9
|
|
10 10
|
|
11 11
|
|
SELECT * FROM t2 ORDER BY id;
|
|
id b
|
|
1 11
|
|
2 2
|
|
3 200
|
|
4 5
|
|
connection node_2;
|
|
SELECT COUNT(*) FROM t1;
|
|
COUNT(*)
|
|
10
|
|
SELECT * FROM t1 ORDER BY id;
|
|
id b
|
|
1 1
|
|
2 200
|
|
3 3
|
|
4 4
|
|
6 6
|
|
7 7
|
|
8 8
|
|
9 9
|
|
10 10
|
|
11 11
|
|
SELECT * FROM t2 ORDER BY id;
|
|
id b
|
|
1 11
|
|
2 2
|
|
3 200
|
|
4 5
|
|
DROP TRIGGER tr1;
|
|
DROP TRIGGER tr2;
|
|
DROP TRIGGER tr3;
|
|
DROP TABLE t1, t2;
|
|
CREATE TABLE t1 (a INT, b INT, UNIQUE(a)) ENGINE=MyISAM;
|
|
CREATE TRIGGER tr1 BEFORE INSERT ON t1 FOR EACH ROW SET NEW.a=1;
|
|
INSERT INTO t1 (a,b) VALUES (10,20);
|
|
SELECT * from t1;
|
|
a b
|
|
1 20
|
|
connection node_2;
|
|
SELECT * from t1;
|
|
a b
|
|
1 20
|
|
connection node_1;
|
|
DROP TABLE t1;
|
|
#
|
|
# MDEV-11152: wsrep_replicate_myisam: SELECT gets replicated using TO
|
|
#
|
|
connection node_1;
|
|
CREATE TABLE t1 (i INT NOT NULL PRIMARY KEY) ENGINE=INNODB;
|
|
INSERT INTO t1 VALUES(1);
|
|
SELECT * FROM t1;
|
|
i
|
|
1
|
|
DROP TABLE t1;
|
|
SET GLOBAL wsrep_mode = DEFAULT;
|
|
connection node_2;
|
|
SET GLOBAL wsrep_mode = DEFAULT;
|