mirror of
https://github.com/MariaDB/server.git
synced 2026-01-26 21:39:09 +01:00
101 lines
3.2 KiB
Text
101 lines
3.2 KiB
Text
# Test clone command
|
|
--source include/have_innodb.inc
|
|
|
|
--let $CLONE_DATADIR = $MYSQL_TMP_DIR/data_new
|
|
|
|
CREATE TABLE t1(col1 INT PRIMARY KEY, col2 char(64), FULLTEXT KEY fts_index(col2))ENGINE=InnoDB;
|
|
|
|
INSERT INTO t1 VALUES(10, 'clone row 1');
|
|
INSERT INTO t1 VALUES(20, 'clone row 2');
|
|
INSERT INTO t1 VALUES(30, 'clone row 3');
|
|
|
|
SELECT * from t1 ORDER BY col1;
|
|
|
|
SELECT count(*) FROM mysql.general_log;
|
|
SELECT count(*) FROM mysql.slow_log;
|
|
|
|
# Create MyIsam and CSV tables in common schema
|
|
CREATE TABLE t_myisam(col1 INT PRIMARY KEY, col2 char(64)) ENGINE=MyISAM;
|
|
INSERT INTO t_myisam VALUES(10, 'myisam not cloned row 1');
|
|
SELECT * from t_myisam ORDER BY col1;
|
|
|
|
CREATE TABLE t_csv(col1 INT NOT NULL, col2 char(64) NOT NULL) ENGINE=CSV;
|
|
INSERT INTO t_csv VALUES(10, 'csv not cloned row 1');
|
|
SELECT * from t_csv ORDER BY col1;
|
|
|
|
# Create MyIsam and CSV tables in separate schema
|
|
CREATE SCHEMA non_innodb;
|
|
CREATE TABLE non_innodb.t_myisam(col1 INT PRIMARY KEY, col2 char(64)) ENGINE=MyISAM;
|
|
INSERT INTO non_innodb.t_myisam VALUES(10, 'myisam not cloned row 1');
|
|
INSERT INTO non_innodb.t_myisam VALUES(20, 'myisam not cloned row 2');
|
|
INSERT INTO non_innodb.t_myisam VALUES(30, 'myisam not cloned row 3');
|
|
SELECT * from non_innodb.t_myisam ORDER BY col1;
|
|
|
|
CREATE TABLE non_innodb.t_csv(col1 INT NOT NULL, col2 char(64) NOT NULL) ENGINE=CSV;
|
|
INSERT INTO non_innodb.t_csv VALUES(10, 'csv not cloned row 1');
|
|
INSERT INTO non_innodb.t_csv VALUES(20, 'csv not cloned row 2');
|
|
INSERT INTO non_innodb.t_csv VALUES(30, 'csv not cloned row 3');
|
|
SELECT * from non_innodb.t_csv ORDER BY col1;
|
|
|
|
# Install Clone Plugin
|
|
--replace_result $MARIADB_CLONE_SO CLONE_PLUGIN
|
|
--eval INSTALL PLUGIN clone SONAME '$MARIADB_CLONE_SO'
|
|
|
|
SELECT PLUGIN_NAME, PLUGIN_STATUS FROM INFORMATION_SCHEMA.PLUGINS
|
|
WHERE PLUGIN_NAME LIKE '%clone%';
|
|
|
|
# Clone data
|
|
--replace_result $CLONE_DATADIR CLONE_DATADIR
|
|
--eval CLONE LOCAL DATA DIRECTORY = '$CLONE_DATADIR'
|
|
--connection default
|
|
--echo # Restart server on cloned data directory
|
|
--let $restart_noprint=1
|
|
--let restart_parameters=--datadir=$CLONE_DATADIR
|
|
--source include/restart_mysqld.inc
|
|
|
|
# Validate data
|
|
SELECT * from t1 ORDER BY col1;
|
|
INSERT INTO t1 VALUES(40, 'clone row 4');
|
|
SELECT * from t1 ORDER BY col1;
|
|
|
|
# Check MyISAM and CSV table data
|
|
SELECT * from t_myisam ORDER BY col1;
|
|
INSERT INTO t_myisam VALUES(40, 'myisam not cloned row 4');
|
|
SELECT * from t_myisam ORDER BY col1;
|
|
|
|
INSERT INTO t_csv VALUES(40, 'csv not cloned row 4');
|
|
SELECT * from t_csv ORDER BY col1;
|
|
|
|
INSERT INTO non_innodb.t_myisam VALUES(40, 'myisam not cloned row 4');
|
|
SELECT * from non_innodb.t_myisam ORDER BY col1;
|
|
|
|
INSERT INTO non_innodb.t_csv VALUES(40, 'csv not cloned row 4');
|
|
SELECT * from non_innodb.t_csv ORDER BY col1;
|
|
|
|
SHOW TABLES;
|
|
# Validate query log tables;
|
|
SELECT count(*) FROM mysql.general_log;
|
|
SELECT count(*) FROM mysql.slow_log;
|
|
|
|
SET GLOBAL general_log = ON;
|
|
SET GLOBAL slow_query_log = ON;
|
|
|
|
#Cleanup
|
|
--let restart_parameters=
|
|
--source include/restart_mysqld.inc
|
|
|
|
SHOW TABLES;
|
|
SELECT * from t1 ORDER BY col1;
|
|
|
|
SELECT * from t_myisam ORDER BY col1;
|
|
DROP TABLE t1;
|
|
|
|
DROP TABLE t_myisam;
|
|
DROP TABLE t_csv;
|
|
|
|
DROP TABLE non_innodb.t_myisam;
|
|
DROP TABLE non_innodb.t_csv;
|
|
|
|
DROP SCHEMA non_innodb;
|
|
--rmdir $CLONE_DATADIR
|
|
UNINSTALL PLUGIN clone;
|