mirror of
				https://github.com/MariaDB/server.git
				synced 2025-11-04 12:56:14 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			150 lines
		
	
	
	
		
			5.4 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			150 lines
		
	
	
	
		
			5.4 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
#
 | 
						|
# Test that various admin commands from sql_admin.cc
 | 
						|
# Currently, REPAIR, OPTIMIZE and ANALYZE are tested.
 | 
						|
# Jira: PXC-390
 | 
						|
#
 | 
						|
 | 
						|
--source include/galera_cluster.inc
 | 
						|
--source include/have_aria.inc
 | 
						|
 | 
						|
--disable_warnings
 | 
						|
DROP TABLE IF EXISTS t1, t2;
 | 
						|
DROP TABLE IF EXISTS x1, x2;
 | 
						|
--enable_warnings
 | 
						|
 | 
						|
--connection node_1
 | 
						|
CREATE TABLE t1 (f1 INTEGER);
 | 
						|
CREATE TABLE t2 (f1 INT PRIMARY KEY AUTO_INCREMENT, f2 INTEGER);
 | 
						|
SET GLOBAL wsrep_mode = REPLICATE_MYISAM;
 | 
						|
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);
 | 
						|
 | 
						|
# Wait until all the data from t2 has been replicated
 | 
						|
--connection node_2
 | 
						|
--let $wait_condition = SELECT COUNT(*) = 10 FROM x1;
 | 
						|
--source include/wait_condition.inc
 | 
						|
--let $wait_condition = SELECT COUNT(*) = 10 FROM x2;
 | 
						|
--source include/wait_condition.inc
 | 
						|
--let $wait_condition = SELECT COUNT(*) = 10 FROM t1;
 | 
						|
--source include/wait_condition.inc
 | 
						|
--let $wait_condition = SELECT COUNT(*) = 10000 FROM t2;
 | 
						|
--source include/wait_condition.inc
 | 
						|
 | 
						|
--echo # ANALYZE test
 | 
						|
--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
 | 
						|
ANALYZE TABLE t1, t2;
 | 
						|
 | 
						|
--connection node_2
 | 
						|
--let $wait_condition = SELECT VARIABLE_VALUE = $wsrep_last_committed_before + 1 FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME = 'wsrep_last_committed'
 | 
						|
--source include/wait_condition.inc
 | 
						|
 | 
						|
--echo # OPTIMIZE test
 | 
						|
--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
 | 
						|
OPTIMIZE TABLE t1, t2;
 | 
						|
 | 
						|
--connection node_2
 | 
						|
--let $wait_condition = SELECT VARIABLE_VALUE >= $wsrep_last_committed_before + 1 FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME = 'wsrep_last_committed'
 | 
						|
--source include/wait_condition.inc
 | 
						|
 | 
						|
--echo # REPAIR test
 | 
						|
--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
 | 
						|
REPAIR TABLE x1, x2;
 | 
						|
 | 
						|
--connection node_2
 | 
						|
--let $wait_condition = SELECT VARIABLE_VALUE >= $wsrep_last_committed_before + 1 FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME = 'wsrep_last_committed'
 | 
						|
--source include/wait_condition.inc
 | 
						|
 | 
						|
--connection node_2
 | 
						|
SELECT COUNT(*) = 10 FROM t1;
 | 
						|
SELECT COUNT(*) = 10 FROM x1;
 | 
						|
SELECT COUNT(*) = 10000 FROM t2;
 | 
						|
SELECT COUNT(*) = 10 FROM x2;
 | 
						|
 | 
						|
--connection node_1
 | 
						|
DROP TABLE t1, t2;
 | 
						|
DROP TABLE x1, x2;
 | 
						|
 | 
						|
--echo #
 | 
						|
--echo # ARIA
 | 
						|
--echo #
 | 
						|
--connection node_1
 | 
						|
CREATE TABLE t1 (f1 INTEGER);
 | 
						|
CREATE TABLE t2 (f1 INT PRIMARY KEY AUTO_INCREMENT, f2 INTEGER);
 | 
						|
SET GLOBAL wsrep_mode = REPLICATE_ARIA;
 | 
						|
CREATE TABLE x1 (f1 INTEGER) ENGINE=ARIA;
 | 
						|
CREATE TABLE x2 (f1 INT PRIMARY KEY AUTO_INCREMENT, f2 INTEGER) ENGINE=ARIA;
 | 
						|
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);
 | 
						|
 | 
						|
# Wait until all the data from t2 has been replicated
 | 
						|
--connection node_2
 | 
						|
--let $wait_condition = SELECT COUNT(*) = 10 FROM x1;
 | 
						|
--source include/wait_condition.inc
 | 
						|
--let $wait_condition = SELECT COUNT(*) = 10 FROM x2;
 | 
						|
--source include/wait_condition.inc
 | 
						|
--let $wait_condition = SELECT COUNT(*) = 10 FROM t1;
 | 
						|
--source include/wait_condition.inc
 | 
						|
--let $wait_condition = SELECT COUNT(*) = 10000 FROM t2;
 | 
						|
--source include/wait_condition.inc
 | 
						|
 | 
						|
--echo # ANALYZE test
 | 
						|
--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
 | 
						|
ANALYZE TABLE t1, t2;
 | 
						|
 | 
						|
--connection node_2
 | 
						|
--let $wait_condition = SELECT VARIABLE_VALUE = $wsrep_last_committed_before + 1 FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME = 'wsrep_last_committed'
 | 
						|
--source include/wait_condition.inc
 | 
						|
 | 
						|
--echo # OPTIMIZE test
 | 
						|
--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
 | 
						|
OPTIMIZE TABLE t1, t2;
 | 
						|
 | 
						|
--connection node_2
 | 
						|
--let $wait_condition = SELECT VARIABLE_VALUE >= $wsrep_last_committed_before + 1 FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME = 'wsrep_last_committed'
 | 
						|
--source include/wait_condition.inc
 | 
						|
 | 
						|
--echo # REPAIR test
 | 
						|
--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
 | 
						|
REPAIR TABLE x1, x2;
 | 
						|
 | 
						|
--connection node_2
 | 
						|
--let $wait_condition = SELECT VARIABLE_VALUE >= $wsrep_last_committed_before + 1 FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME = 'wsrep_last_committed'
 | 
						|
--source include/wait_condition.inc
 | 
						|
 | 
						|
--connection node_2
 | 
						|
SELECT COUNT(*) = 10 FROM t1;
 | 
						|
SELECT COUNT(*) = 10 FROM x1;
 | 
						|
SELECT COUNT(*) = 10000 FROM t2;
 | 
						|
SELECT COUNT(*) = 10 FROM x2;
 | 
						|
 | 
						|
--connection node_1
 | 
						|
DROP TABLE t1, t2;
 | 
						|
DROP TABLE x1, x2;
 | 
						|
 | 
						|
--disable_query_log
 | 
						|
SET GLOBAL wsrep_mode = DEFAULT;
 | 
						|
--enable_query_log
 |