mirror of
				https://github.com/MariaDB/server.git
				synced 2025-10-24 07:13:33 +03:00 
			
		
		
		
	Adding back ndb partition tests from mysql-test-extra per tomas and clavin new file mysql-test/r/rpl_ndb_dd_partitions.result: Adding back ndb partition tests from mysql-test-extra per tomas and clavin mysql-test/t/rpl_ndb_dd_partitions.test: Adding back ndb partition tests from mysql-test-extra per tomas and clavin
		
			
				
	
	
		
			311 lines
		
	
	
		
			8.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			311 lines
		
	
	
		
			8.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| #######################################
 | |
| # Author: JBM                         #
 | |
| # Date: 2006-03-09                    #
 | |
| # Purpose: To test the replication of #
 | |
| # Cluster Disk Data using partitions  #
 | |
| #######################################
 | |
| 
 | |
| --source include/have_ndb.inc
 | |
| --source include/have_binlog_format_row.inc
 | |
| --source include/master-slave.inc
 | |
| 
 | |
| --echo --- Doing pre test cleanup --- 
 | |
| 
 | |
| connection master;
 | |
| --disable_warnings
 | |
| DROP TABLE IF EXISTS t1;
 | |
| --enable_query_log
 | |
| 
 | |
| 
 | |
| # Start by creating a logfile group
 | |
| ##################################
 | |
| 
 | |
| CREATE LOGFILE GROUP lg1
 | |
| ADD UNDOFILE 'undofile.dat'
 | |
| INITIAL_SIZE 16M
 | |
| UNDO_BUFFER_SIZE = 1M
 | |
| ENGINE=NDB;
 | |
| 
 | |
| ALTER LOGFILE GROUP lg1
 | |
| ADD UNDOFILE 'undofile02.dat'
 | |
| INITIAL_SIZE = 4M
 | |
| ENGINE=NDB;
 | |
| 
 | |
| ###################################################
 | |
| # Create a tablespace connected to the logfile group
 | |
| ###################################################
 | |
| 
 | |
| CREATE TABLESPACE ts1
 | |
| ADD DATAFILE 'datafile.dat'
 | |
| USE LOGFILE GROUP lg1
 | |
| INITIAL_SIZE 12M
 | |
| ENGINE NDB;
 | |
| 
 | |
| ALTER TABLESPACE ts1
 | |
| ADD DATAFILE 'datafile02.dat'
 | |
| INITIAL_SIZE = 4M
 | |
| ENGINE=NDB;
 | |
| 
 | |
| #################################################################
 | |
| 
 | |
| --echo --- Start test 2 partition RANGE testing --
 | |
| --echo --- Do setup --
 | |
| 
 | |
| 
 | |
| #################################################
 | |
| # Requirment: Create table that is partitioned  #
 | |
| # by range on year i.e. year(t) and replicate   #
 | |
| # basice operations such at insert, update      #
 | |
| # delete between 2 different storage engines    #
 | |
| # Alter table and ensure table is handled       #
 | |
| # Correctly on the slave                        #
 | |
| #################################################
 | |
| 
 | |
| CREATE TABLE t1 (id MEDIUMINT NOT NULL, b1 BIT(8), vc VARCHAR(63), 
 | |
|                  bc CHAR(63), d DECIMAL(10,4) DEFAULT 0, 
 | |
|                  f FLOAT DEFAULT 0, total BIGINT UNSIGNED, 
 | |
|                  y YEAR, t DATE)
 | |
|                  TABLESPACE ts1 STORAGE DISK
 | |
|                  ENGINE=NDB
 | |
|                  PARTITION BY RANGE (YEAR(t)) 
 | |
|                 (PARTITION p0 VALUES LESS THAN (1901), 
 | |
|                  PARTITION p1 VALUES LESS THAN (1946),  
 | |
|                  PARTITION p2 VALUES LESS THAN (1966), 
 | |
|                  PARTITION p3 VALUES LESS THAN (1986), 
 | |
|                  PARTITION p4 VALUES LESS THAN (2005), 
 | |
|                  PARTITION p5 VALUES LESS THAN MAXVALUE);
 | |
| 
 | |
| --echo --- Show table on master ---
 | |
| 
 | |
| SHOW CREATE TABLE t1;
 | |
| 
 | |
| --echo --- Show table on slave --
 | |
| 
 | |
| sync_slave_with_master;
 | |
| SHOW CREATE TABLE t1;
 | |
| 
 | |
| --echo --- Perform basic operation on master ---
 | |
| --echo --- and ensure replicated correctly ---
 | |
| 
 | |
| --source include/rpl_multi_engine3.inc
 | |
| 
 | |
| --echo --- Check that simple Alter statements are replicated correctly ---
 | |
| 
 | |
| ALTER TABLE t1 MODIFY vc VARCHAR(255);
 | |
| 
 | |
| --echo --- Show the new improved table on the master ---
 | |
| 
 | |
| SHOW CREATE TABLE t1;
 | |
| 
 | |
| --echo --- Make sure that our tables on slave are still same engine ---
 | |
| --echo --- and that the alter statements replicated correctly ---
 | |
| 
 | |
| sync_slave_with_master;
 | |
| SHOW CREATE TABLE t1;
 | |
| 
 | |
| --echo --- Perform basic operation on master ---
 | |
| --echo --- and ensure replicated correctly ---
 | |
| --enable_query_log
 | |
| 
 | |
| --source include/rpl_multi_engine3.inc
 | |
| 
 | |
| --echo --- End test 2 partition RANGE testing ---
 | |
| --echo --- Do Cleanup ---
 | |
| 
 | |
| DROP TABLE IF EXISTS t1;
 | |
| 
 | |
| ########################################################
 | |
| 
 | |
| --echo --- Start test 3 partition LIST testing ---
 | |
| --echo --- Do setup ---
 | |
| #################################################
 | |
| 
 | |
| 
 | |
| CREATE TABLE t1 (id MEDIUMINT NOT NULL, b1 BIT(8), vc VARCHAR(63), 
 | |
|                  bc CHAR(63), d DECIMAL(10,4) DEFAULT 0, 
 | |
|                  f FLOAT DEFAULT 0, total BIGINT UNSIGNED, 
 | |
|                  y YEAR, t DATE)
 | |
|                  TABLESPACE ts1 STORAGE DISK
 | |
|                  ENGINE=NDB
 | |
|                  PARTITION BY LIST(id) 
 | |
|                 (PARTITION p0 VALUES IN (2, 4), 
 | |
|                  PARTITION p1 VALUES IN (42, 142));
 | |
| 
 | |
| --echo --- Test 3 Alter to add partition ---
 | |
| 
 | |
| ALTER TABLE t1 ADD PARTITION (PARTITION p2 VALUES IN (412));
 | |
| 
 | |
| --echo --- Show table on master ---
 | |
| 
 | |
| SHOW CREATE TABLE t1;
 | |
| 
 | |
| --echo --- Show table on slave ---
 | |
| 
 | |
| sync_slave_with_master;
 | |
| SHOW CREATE TABLE t1;
 | |
| 
 | |
| --echo --- Perform basic operation on master ---
 | |
| --echo --- and ensure replicated correctly ---
 | |
| 
 | |
| --source include/rpl_multi_engine3.inc
 | |
| 
 | |
| --echo --- Check that simple Alter statements are replicated correctly ---
 | |
| 
 | |
| ALTER TABLE t1 MODIFY vc VARCHAR(255);
 | |
| 
 | |
| --echo --- Show the new improved table on the master ---
 | |
| 
 | |
| SHOW CREATE TABLE t1;
 | |
| 
 | |
| --echo --- Make sure that our tables on slave are still same engine ---
 | |
| --echo --- and that the alter statements replicated correctly ---
 | |
| 
 | |
| sync_slave_with_master;
 | |
| SHOW CREATE TABLE t1;
 | |
| 
 | |
| --echo --- Perform basic operation on master ---
 | |
| --echo --- and ensure replicated correctly ---
 | |
| 
 | |
| --source include/rpl_multi_engine3.inc
 | |
| 
 | |
| --echo --- End test 3 partition LIST testing ---
 | |
| --echo --- Do Cleanup --
 | |
| 
 | |
| DROP TABLE IF EXISTS t1;
 | |
| 
 | |
| ########################################################
 | |
| 
 | |
| --echo --- Start test 4 partition HASH testing ---
 | |
| --echo --- Do setup ---
 | |
| #################################################
 | |
| 
 | |
| 
 | |
| CREATE TABLE t1 (id MEDIUMINT NOT NULL, b1 BIT(8), vc VARCHAR(63), 
 | |
|                  bc CHAR(63), d DECIMAL(10,4) DEFAULT 0, 
 | |
|                  f FLOAT DEFAULT 0, total BIGINT UNSIGNED, 
 | |
|                  y YEAR, t DATE)
 | |
|                  TABLESPACE ts1 STORAGE DISK
 | |
|                  ENGINE=NDB
 | |
|                  PARTITION BY HASH( YEAR(t) ) 
 | |
|                  PARTITIONS 4; 
 | |
| 
 | |
| --echo --- show that tables have been created correctly ---
 | |
| 
 | |
| SHOW CREATE TABLE t1;
 | |
| sync_slave_with_master;
 | |
| SHOW CREATE TABLE t1;
 | |
| 
 | |
| --echo --- Perform basic operation on master ---
 | |
| --echo --- and ensure replicated correctly ---
 | |
| 
 | |
| --source include/rpl_multi_engine3.inc
 | |
| 
 | |
| --echo --- Check that simple Alter statements are replicated correctly ---
 | |
| 
 | |
| ALTER TABLE t1 MODIFY vc VARCHAR(255);
 | |
| 
 | |
| --echo --- Show the new improved table on the master ---
 | |
| 
 | |
| SHOW CREATE TABLE t1;
 | |
| 
 | |
| --echo --- Make sure that our tables on slave are still same engine ---
 | |
| --echo --- and that the alter statements replicated correctly ---
 | |
| 
 | |
| sync_slave_with_master;
 | |
| SHOW CREATE TABLE t1;
 | |
| 
 | |
| --echo --- Perform basic operation on master ---
 | |
| --echo --- and ensure replicated correctly ---
 | |
| 
 | |
| --source include/rpl_multi_engine3.inc
 | |
| 
 | |
| --echo --- End test 4 partition HASH testing ---
 | |
| --echo --- Do Cleanup --
 | |
| 
 | |
| DROP TABLE IF EXISTS t1;
 | |
| 
 | |
| ########################################################
 | |
| 
 | |
| --echo --- Start test 5 partition by key testing ---
 | |
| --echo --- Create Table Section ---
 | |
| 
 | |
| #################################################
 | |
| 
 | |
| CREATE TABLE t1 (id MEDIUMINT NOT NULL, b1 BIT(8), vc VARCHAR(63), 
 | |
|                  bc CHAR(63), d DECIMAL(10,4) DEFAULT 0, 
 | |
|                  f FLOAT DEFAULT 0, total BIGINT UNSIGNED, 
 | |
|                  y YEAR, t DATE,PRIMARY KEY(id))
 | |
|                  TABLESPACE ts1 STORAGE DISK
 | |
|                  ENGINE=NDB
 | |
|                  PARTITION BY KEY() 
 | |
|                  PARTITIONS 4;
 | |
| 
 | |
| --echo --- Show that tables on master are ndbcluster tables ---
 | |
| 
 | |
| SHOW CREATE TABLE t1;
 | |
| 
 | |
| --echo --- Show that tables on slave ---
 | |
| 
 | |
| sync_slave_with_master;
 | |
| SHOW CREATE TABLE t1;
 | |
| 
 | |
| --echo --- Perform basic operation on master ---
 | |
| --echo --- and ensure replicated correctly ---
 | |
| 
 | |
| --source include/rpl_multi_engine3.inc
 | |
| 
 | |
| # Okay lets see how it holds up to table changes
 | |
| --echo --- Check that simple Alter statements are replicated correctly ---
 | |
| 
 | |
| ALTER TABLE t1 DROP PRIMARY KEY, ADD PRIMARY KEY(id, total);
 | |
| 
 | |
| --echo --- Show the new improved table on the master ---
 | |
| 
 | |
| SHOW CREATE TABLE t1;
 | |
| 
 | |
| --echo --- Make sure that our tables on slave are still right type ---
 | |
| --echo --- and that the alter statements replicated correctly ---
 | |
| 
 | |
| sync_slave_with_master;
 | |
| SHOW CREATE TABLE t1;
 | |
| 
 | |
| --echo --- Perform basic operation on master ---
 | |
| --echo --- and ensure replicated correctly ---
 | |
| 
 | |
| --source include/rpl_multi_engine3.inc
 | |
| 
 | |
| --echo --- Check that simple Alter statements are replicated correctly ---
 | |
| 
 | |
| ALTER TABLE t1 MODIFY vc VARCHAR(255);
 | |
| 
 | |
| --echo --- Show the new improved table on the master ---
 | |
| 
 | |
| SHOW CREATE TABLE t1;
 | |
| 
 | |
| --echo --- Make sure that our tables on slave are still same engine ---
 | |
| --echo --- and that the alter statements replicated correctly ---
 | |
| 
 | |
| sync_slave_with_master;
 | |
| SHOW CREATE TABLE t1;
 | |
| 
 | |
| --echo --- Perform basic operation on master ---
 | |
| --echo --- and ensure replicated correctly ---
 | |
| 
 | |
| --source include/rpl_multi_engine3.inc
 | |
| 
 | |
| --echo --- End test 5 key partition testing ---
 | |
| --echo --- Do Cleanup ---
 | |
| 
 | |
| DROP TABLE IF EXISTS t1;
 | |
| alter tablespace ts1
 | |
| drop datafile 'datafile.dat'
 | |
| engine=ndb;
 | |
| alter tablespace ts1
 | |
| drop datafile 'datafile02.dat'
 | |
| engine=ndb;
 | |
| DROP TABLESPACE ts1 ENGINE=NDB;
 | |
| DROP LOGFILE GROUP lg1 ENGINE=NDB;
 | |
| --sync_slave_with_master
 | |
| 
 | |
| # End of 5.1 test case
 |