mirror of
				https://github.com/MariaDB/server.git
				synced 2025-10-31 10:56:12 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			133 lines
		
	
	
	
		
			3.9 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			133 lines
		
	
	
	
		
			3.9 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| --source include/galera_cluster.inc
 | |
| --source include/have_partition.inc
 | |
| --source include/have_innodb.inc
 | |
| --source include/have_aria.inc
 | |
| 
 | |
| call mtr.add_suppression("WSREP: wsrep_mode = STRICT_REPLICATION enabled\\. Storage engine partition for table");
 | |
| 
 | |
| --echo # wsrep-mode= DEFAULT
 | |
| SET GLOBAL wsrep_mode = "";
 | |
| SELECT @@wsrep_mode;
 | |
| CREATE OR REPLACE TABLE t1 (v1 INT NOT NULL PRIMARY KEY) ENGINE=InnoDB
 | |
|   PARTITION BY KEY (v1)
 | |
|   PARTITIONS 2;
 | |
| CREATE OR REPLACE TABLE t2 (v1 INT NOT NULL PRIMARY KEY) ENGINE=MyISAM
 | |
|   PARTITION BY KEY (v1)
 | |
|   PARTITIONS 2;
 | |
| ALTER TABLE t1 ADD COLUMN v2 int;
 | |
| ALTER TABLE t2 ADD COLUMN v2 int;
 | |
| INSERT INTO t1 VALUES (1,1),(2,2);
 | |
| INSERT INTO t2 VALUES (1,1),(2,2);
 | |
| ALTER TABLE t1 ADD COLUMN v3 int, ENGINE=MyISAM;
 | |
| ALTER TABLE t2 ADD COLUMN v3 int, ENGINE=Aria;
 | |
| UPDATE t1 SET v3 = 3;
 | |
| UPDATE t2 SET v3 = 3;
 | |
| CREATE INDEX xx1 ON t1(v2);
 | |
| CREATE INDEX xx2 ON t2(v2);
 | |
| DROP INDEX xx1 ON t1;
 | |
| DROP INDEX xx2 ON t2;
 | |
| TRUNCATE TABLE t1;
 | |
| TRUNCATE TABLE t2;
 | |
| RENAME TABLE t1 TO t1_v2;
 | |
| RENAME TABLE t2 TO t2_v2;
 | |
| CREATE VIEW x1 AS SELECT * FROM t1_v2;
 | |
| CREATE VIEW x2 AS SELECT * FROM t2_v2;
 | |
| CREATE DEFINER=`root`@`localhost` TRIGGER increment_before_t1
 | |
|   AFTER INSERT ON t1_v2 FOR EACH ROW
 | |
|    UPDATE t1_v2 SET t1_v2.v3 = t1_v2.v3+1;
 | |
| CREATE DEFINER=`root`@`localhost` TRIGGER increment_before_t2
 | |
|   AFTER INSERT ON t2_v2 FOR EACH ROW
 | |
|    UPDATE t2_v2 SET t2_v2.v3 = t2_v2.v3+1;
 | |
| 
 | |
| --connection node_2
 | |
| SHOW CREATE TABLE t1_v2;
 | |
| SHOW CREATE TABLE t2_v2;
 | |
| SHOW CREATE VIEW x1;
 | |
| SHOW CREATE VIEW x2;
 | |
| 
 | |
| SELECT * FROM t1_v2;
 | |
| SELECT * FROM t2_v2;
 | |
| 
 | |
| --connection node_1
 | |
| DROP VIEW x1;
 | |
| DROP VIEW x2;
 | |
| DROP TRIGGER increment_before_t1;
 | |
| DROP TRIGGER increment_before_t2;
 | |
| DROP TABLE t1_v2;
 | |
| DROP TABLE t2_v2;
 | |
| 
 | |
| SET GLOBAL wsrep_mode = "";
 | |
| CREATE OR REPLACE TABLE t2 (v1 INT NOT NULL PRIMARY KEY) ENGINE=MyISAM
 | |
|   PARTITION BY KEY (v1)
 | |
|   PARTITIONS 2;
 | |
| --echo # wsrep-mode= STRICT_REPLICATION
 | |
| SET GLOBAL wsrep_mode = "STRICT_REPLICATION";
 | |
| SELECT @@wsrep_mode;
 | |
| CREATE OR REPLACE TABLE t1 (v1 INT NOT NULL PRIMARY KEY) ENGINE=InnoDB
 | |
|   PARTITION BY KEY (v1)
 | |
|   PARTITIONS 2;
 | |
| --error ER_GALERA_REPLICATION_NOT_SUPPORTED
 | |
| CREATE OR REPLACE TABLE t3 (v1 INT NOT NULL PRIMARY KEY) ENGINE=MyISAM
 | |
|   PARTITION BY KEY (v1)
 | |
|   PARTITIONS 2;
 | |
| ALTER TABLE t1 ADD COLUMN v2 int;
 | |
| --error ER_GALERA_REPLICATION_NOT_SUPPORTED
 | |
| ALTER TABLE t2 ADD COLUMN v2 int;
 | |
| INSERT INTO t1 VALUES (1,1),(2,2);
 | |
| INSERT INTO t2 VALUES (1),(2);
 | |
| --error ER_GALERA_REPLICATION_NOT_SUPPORTED
 | |
| ALTER TABLE t1 ADD COLUMN v3 int, ENGINE=MyISAM;
 | |
| --error ER_GALERA_REPLICATION_NOT_SUPPORTED
 | |
| ALTER TABLE t2 ADD COLUMN v3 int, ENGINE=Aria;
 | |
| UPDATE t1 SET v2 = v2 + 3;
 | |
| UPDATE t2 SET v1 = v1 + 3;
 | |
| CREATE INDEX xx1 ON t1(v2);
 | |
| --error ER_GALERA_REPLICATION_NOT_SUPPORTED
 | |
| CREATE INDEX xx2 ON t2(v2);
 | |
| DROP INDEX xx1 ON t1;
 | |
| --error ER_GALERA_REPLICATION_NOT_SUPPORTED
 | |
| DROP INDEX xx2 on t2;
 | |
| TRUNCATE TABLE t1;
 | |
| --error ER_GALERA_REPLICATION_NOT_SUPPORTED
 | |
| TRUNCATE TABLE t2;
 | |
| # At the moment can't restrict rename
 | |
| RENAME TABLE t1 TO t1_v2;
 | |
| RENAME TABLE t2 TO t2_v2;
 | |
| RENAME TABLE t2_v2 TO t2;
 | |
| CREATE VIEW x1 AS SELECT * FROM t1_v2;
 | |
| --error ER_GALERA_REPLICATION_NOT_SUPPORTED
 | |
| CREATE VIEW x2 AS SELECT * FROM t2;
 | |
| CREATE DEFINER=`root`@`localhost` TRIGGER increment_before_t1
 | |
|   AFTER INSERT ON t1_v2 FOR EACH ROW
 | |
|    UPDATE t1_v2 SET t1_v2.v2 = t1_v2.v2+1;
 | |
| --error ER_GALERA_REPLICATION_NOT_SUPPORTED
 | |
| CREATE DEFINER=`root`@`localhost` TRIGGER increment_before_t2
 | |
|   AFTER INSERT ON t2 FOR EACH ROW
 | |
|    UPDATE t2 SET t2.v1 = t2.v1+1;
 | |
| 
 | |
| --connection node_2
 | |
| SHOW CREATE TABLE t1_v2;
 | |
| SHOW CREATE TABLE t2;
 | |
| SHOW CREATE VIEW x1;
 | |
| 
 | |
| SELECT * FROM t1_v2;
 | |
| SELECT * FROM t2;
 | |
| 
 | |
| --connection node_1
 | |
| DROP VIEW x1;
 | |
| DROP TRIGGER increment_before_t1;
 | |
| DROP TABLE t1_v2;
 | |
| # We allow dropping table
 | |
| DROP TABLE t2;
 | |
| SET GLOBAL wsrep_mode = "";
 | |
| 
 | |
| CREATE OR REPLACE TABLE t2 (v1 INT NOT NULL PRIMARY KEY) ENGINE=MyISAM
 | |
|   PARTITION BY KEY (v1)
 | |
|   PARTITIONS 2;
 | |
| --echo # wsrep-mode= STRICT_REPLICATION
 | |
| SET GLOBAL wsrep_mode = "STRICT_REPLICATION";
 | |
| SELECT @@wsrep_mode;
 | |
| ALTER TABLE t2 ENGINE=InnoDB;
 | |
| DROP TABLE t2;
 | |
| 
 | |
| SET GLOBAL wsrep_mode = DEFAULT;
 | 
