mirror of
				https://github.com/MariaDB/server.git
				synced 2025-11-04 04:46:15 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			146 lines
		
	
	
	
		
			4.6 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			146 lines
		
	
	
	
		
			4.6 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
#
 | 
						|
# Test that various FLUSH LOCAL commands are replicated. Whenever possible, check the slave for the effects.
 | 
						|
# PXC-391
 | 
						|
 | 
						|
--source include/galera_cluster.inc
 | 
						|
--source include/have_innodb.inc
 | 
						|
--source include/have_query_cache.inc
 | 
						|
 | 
						|
--disable_warnings
 | 
						|
DROP TABLE IF EXISTS t1, t2, x1, x2;
 | 
						|
--enable_warnings
 | 
						|
#
 | 
						|
# The following FLUSH LOCAL statements should *not* be replicated
 | 
						|
#
 | 
						|
--connection node_1
 | 
						|
SET GLOBAL wsrep_mode = REPLICATE_MYISAM;
 | 
						|
CREATE TABLE t1 (f1 INTEGER);
 | 
						|
CREATE TABLE t2 (f1 INT PRIMARY KEY AUTO_INCREMENT, f2 INTEGER);
 | 
						|
CREATE TABLE x1 (f1 INTEGER) ENGINE=MyISAM;
 | 
						|
CREATE TABLE x2 (f1 INT PRIMARY KEY AUTO_INCREMENT, f2 INTEGER) ENGINE=MyISAM;
 | 
						|
INSERT INTO t1 VALUES (1), (2), (3), (4), (5), (6), (7), (8), (9), (10);
 | 
						|
INSERT INTO x1 VALUES (1), (2), (3), (4), (5), (6), (7), (8), (9), (10);
 | 
						|
INSERT INTO t2 (f2) SELECT 1 FROM t1 AS a1, t1 AS a2, t1 AS a3, t1 AS a4;
 | 
						|
INSERT INTO x2 (f2) VALUES (1), (2), (3), (4), (5), (6), (7), (8), (9), (10);
 | 
						|
 | 
						|
--connection node_2
 | 
						|
--let $wsrep_last_committed_before = `SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME = 'wsrep_last_committed'`
 | 
						|
--connection node_1
 | 
						|
FLUSH LOCAL DES_KEY_FILE;
 | 
						|
FLUSH LOCAL HOSTS;
 | 
						|
FLUSH LOCAL QUERY CACHE;
 | 
						|
FLUSH LOCAL STATUS;
 | 
						|
FLUSH LOCAL PRIVILEGES;
 | 
						|
FLUSH LOCAL USER_RESOURCES;
 | 
						|
FLUSH LOCAL TABLES;
 | 
						|
FLUSH LOCAL TABLES t2;
 | 
						|
FLUSH LOCAL ERROR LOGS;
 | 
						|
FLUSH LOCAL SLOW LOGS;
 | 
						|
FLUSH LOCAL GENERAL LOGS;
 | 
						|
FLUSH LOCAL ENGINE LOGS;
 | 
						|
FLUSH LOCAL RELAY LOGS;
 | 
						|
FLUSH LOCAL CLIENT_STATISTICS;
 | 
						|
FLUSH LOCAL INDEX_STATISTICS;
 | 
						|
FLUSH LOCAL TABLE_STATISTICS;
 | 
						|
FLUSH LOCAL USER_STATISTICS;
 | 
						|
FLUSH LOCAL LOGS;
 | 
						|
FLUSH LOCAL BINARY LOGS;
 | 
						|
FLUSH LOCAL TABLES WITH READ LOCK;
 | 
						|
UNLOCK TABLES;
 | 
						|
FLUSH LOCAL TABLES t1 WITH READ LOCK;
 | 
						|
UNLOCK TABLES;
 | 
						|
FLUSH LOCAL TABLES t1 FOR EXPORT;
 | 
						|
UNLOCK TABLES;
 | 
						|
LOCK TABLES t1 WRITE;
 | 
						|
FLUSH LOCAL TABLES t1;
 | 
						|
UNLOCK TABLES;
 | 
						|
LOCK TABLES t1 READ;
 | 
						|
--error ER_TABLE_NOT_LOCKED_FOR_WRITE
 | 
						|
FLUSH LOCAL TABLES t1;
 | 
						|
UNLOCK TABLES;
 | 
						|
FLUSH LOCAL TABLES t1;
 | 
						|
ANALYZE LOCAL TABLE t1, t2;
 | 
						|
OPTIMIZE LOCAL TABLE t1, t2;
 | 
						|
REPAIR LOCAL TABLE x1, x2;
 | 
						|
--connection node_2
 | 
						|
--let $wsrep_last_committed_after = `SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME = 'wsrep_last_committed'`
 | 
						|
--disable_query_log
 | 
						|
--eval SELECT $wsrep_last_committed_after = $wsrep_last_committed_before AS wsrep_last_committed_diff;
 | 
						|
--enable_query_log
 | 
						|
 | 
						|
SELECT COUNT(*) AS EXPECT_10 FROM t1;
 | 
						|
SELECT COUNT(*) AS EXPECT_10 FROM x1;
 | 
						|
SELECT COUNT(*) AS EXPECT_10000 FROM t2;
 | 
						|
SELECT COUNT(*) AS EXPECT_10 FROM x2;
 | 
						|
 | 
						|
--connection node_1
 | 
						|
DROP TABLE t1, t2, x1, x2;
 | 
						|
CREATE TABLE t1 (f1 INTEGER);
 | 
						|
CREATE TABLE t2 (f1 INT PRIMARY KEY AUTO_INCREMENT, f2 INTEGER);
 | 
						|
CREATE TABLE x1 (f1 INTEGER) ENGINE=MyISAM;
 | 
						|
CREATE TABLE x2 (f1 INT PRIMARY KEY AUTO_INCREMENT, f2 INTEGER) ENGINE=MyISAM;
 | 
						|
INSERT INTO t1 VALUES (1), (2), (3), (4), (5), (6), (7), (8), (9), (10);
 | 
						|
INSERT INTO x1 VALUES (1), (2), (3), (4), (5), (6), (7), (8), (9), (10);
 | 
						|
INSERT INTO t2 (f2) SELECT 1 FROM t1 AS a1, t1 AS a2, t1 AS a3, t1 AS a4;
 | 
						|
INSERT INTO x2 (f2) VALUES (1), (2), (3), (4), (5), (6), (7), (8), (9), (10);
 | 
						|
 | 
						|
 | 
						|
--connection node_2
 | 
						|
--let $wsrep_last_committed_before2 = `SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME = 'wsrep_last_committed'`
 | 
						|
--connection node_1
 | 
						|
set wsrep_on=0;
 | 
						|
FLUSH DES_KEY_FILE;
 | 
						|
FLUSH HOSTS;
 | 
						|
FLUSH QUERY CACHE;
 | 
						|
FLUSH STATUS;
 | 
						|
FLUSH PRIVILEGES;
 | 
						|
FLUSH USER_RESOURCES;
 | 
						|
FLUSH TABLES;
 | 
						|
FLUSH TABLES t2;
 | 
						|
FLUSH ERROR LOGS;
 | 
						|
FLUSH SLOW LOGS;
 | 
						|
FLUSH GENERAL LOGS;
 | 
						|
FLUSH ENGINE LOGS;
 | 
						|
FLUSH RELAY LOGS;
 | 
						|
FLUSH CLIENT_STATISTICS;
 | 
						|
FLUSH INDEX_STATISTICS;
 | 
						|
FLUSH TABLE_STATISTICS;
 | 
						|
FLUSH USER_STATISTICS;
 | 
						|
FLUSH LOGS;
 | 
						|
FLUSH BINARY LOGS;
 | 
						|
FLUSH TABLES WITH READ LOCK;
 | 
						|
UNLOCK TABLES;
 | 
						|
FLUSH TABLES t1 WITH READ LOCK;
 | 
						|
UNLOCK TABLES;
 | 
						|
FLUSH TABLES t1 FOR EXPORT;
 | 
						|
UNLOCK TABLES;
 | 
						|
LOCK TABLES t1 WRITE;
 | 
						|
FLUSH TABLES t1;
 | 
						|
UNLOCK TABLES;
 | 
						|
LOCK TABLES t1 READ;
 | 
						|
--error ER_TABLE_NOT_LOCKED_FOR_WRITE
 | 
						|
FLUSH TABLES t1;
 | 
						|
UNLOCK TABLES;
 | 
						|
FLUSH TABLES t1;
 | 
						|
ANALYZE TABLE t1, t2;
 | 
						|
OPTIMIZE TABLE t1, t2;
 | 
						|
REPAIR TABLE x1, x2;
 | 
						|
--connection node_2
 | 
						|
--let $wsrep_last_committed_after2 = `SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME = 'wsrep_last_committed'`
 | 
						|
--disable_query_log
 | 
						|
--eval SELECT $wsrep_last_committed_after2 = $wsrep_last_committed_before2 AS wsrep_last_committed_diff;
 | 
						|
--eval SELECT $wsrep_last_committed_after2 = $wsrep_last_committed_before + 9 AS wsrep_last_committed_diff2;
 | 
						|
--enable_query_log
 | 
						|
 | 
						|
SELECT COUNT(*) AS EXPECT_10 FROM t1;
 | 
						|
SELECT COUNT(*) AS EXPECT_10 FROM x1;
 | 
						|
SELECT COUNT(*) AS EXPECT_10000 FROM t2;
 | 
						|
SELECT COUNT(*) AS EXPECT_10 FROM x2;
 | 
						|
 | 
						|
--connection node_1
 | 
						|
set wsrep_on=1;
 | 
						|
DROP TABLE t1, t2, x1, x2;
 | 
						|
 | 
						|
--disable_query_log
 | 
						|
SET GLOBAL wsrep_mode = DEFAULT;
 | 
						|
--enable_query_log
 |