mirror of
				https://github.com/MariaDB/server.git
				synced 2025-10-31 10:56:12 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			1123 lines
		
	
	
	
		
			25 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			1123 lines
		
	
	
	
		
			25 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| # Creating database MySQL_TEST_DB
 | |
| CREATE DATABASE MySQL_Test_DB;
 | |
| USE MySQL_Test_DB;
 | |
| # 1.0 KEY partitioning mgm
 | |
| # Creating KEY partitioned table
 | |
| CREATE TABLE TableA (a INT)
 | |
| ENGINE = 'MyISAM'
 | |
| PARTITION BY KEY (a)
 | |
| (PARTITION parta ,
 | |
| PARTITION partB ,
 | |
| PARTITION Partc ,
 | |
| PARTITION PartD );
 | |
| INSERT INTO TableA VALUES (1), (2), (7), (8), (9), (10);
 | |
| INSERT INTO TableA VALUES (3), (4), (5), (6), (11), (12);
 | |
| SELECT * FROM TableA;
 | |
| a
 | |
| 1
 | |
| 10
 | |
| 11
 | |
| 12
 | |
| 2
 | |
| 3
 | |
| 4
 | |
| 5
 | |
| 6
 | |
| 7
 | |
| 8
 | |
| 9
 | |
| # Test of ADD/COALESCE PARTITIONS
 | |
| # expecting duplicate partition name
 | |
| ALTER TABLE TableA ADD PARTITION
 | |
| (PARTITION partA,
 | |
| PARTITION Parta,
 | |
| PARTITION PartA);
 | |
| ERROR HY000: Duplicate partition name partA
 | |
| ALTER TABLE TableA ADD PARTITION
 | |
| (PARTITION partE,
 | |
| PARTITION Partf,
 | |
| PARTITION PartG);
 | |
| SELECT * FROM TableA;
 | |
| a
 | |
| 1
 | |
| 10
 | |
| 11
 | |
| 12
 | |
| 2
 | |
| 3
 | |
| 4
 | |
| 5
 | |
| 6
 | |
| 7
 | |
| 8
 | |
| 9
 | |
| SHOW CREATE TABLE TableA;
 | |
| Table	Create Table
 | |
| TableA	CREATE TABLE `tablea` (
 | |
|   `a` int(11) DEFAULT NULL
 | |
| ) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci
 | |
|  PARTITION BY KEY (`a`)
 | |
| (PARTITION `parta` ENGINE = MyISAM,
 | |
|  PARTITION `partB` ENGINE = MyISAM,
 | |
|  PARTITION `Partc` ENGINE = MyISAM,
 | |
|  PARTITION `PartD` ENGINE = MyISAM,
 | |
|  PARTITION `partE` ENGINE = MyISAM,
 | |
|  PARTITION `Partf` ENGINE = MyISAM,
 | |
|  PARTITION `PartG` ENGINE = MyISAM)
 | |
| ALTER TABLE TableA COALESCE PARTITION 4;
 | |
| SELECT * FROM TableA;
 | |
| a
 | |
| 1
 | |
| 10
 | |
| 11
 | |
| 12
 | |
| 2
 | |
| 3
 | |
| 4
 | |
| 5
 | |
| 6
 | |
| 7
 | |
| 8
 | |
| 9
 | |
| SHOW CREATE TABLE TableA;
 | |
| Table	Create Table
 | |
| TableA	CREATE TABLE `tablea` (
 | |
|   `a` int(11) DEFAULT NULL
 | |
| ) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci
 | |
|  PARTITION BY KEY (`a`)
 | |
| (PARTITION `parta` ENGINE = MyISAM,
 | |
|  PARTITION `partB` ENGINE = MyISAM,
 | |
|  PARTITION `Partc` ENGINE = MyISAM)
 | |
| # Test of EXCHANGE PARTITION WITH TABLE
 | |
| SELECT PARTITION_NAME, TABLE_ROWS FROM INFORMATION_SCHEMA.PARTITIONS WHERE TABLE_SCHEMA ='MySQL_Test_DB' AND TABLE_NAME = 'TableA';
 | |
| PARTITION_NAME	TABLE_ROWS
 | |
| parta	4
 | |
| partB	4
 | |
| Partc	4
 | |
| CREATE TABLE TableB LIKE TableA;
 | |
| ALTER TABLE TableB REMOVE PARTITIONING;
 | |
| ALTER TABLE TableA EXCHANGE PARTITION parta WITH TABLE TableB;
 | |
| SELECT * FROM TableA;
 | |
| a
 | |
| 1
 | |
| 12
 | |
| 2
 | |
| 3
 | |
| 6
 | |
| 7
 | |
| 8
 | |
| 9
 | |
| SHOW CREATE TABLE TableA;
 | |
| Table	Create Table
 | |
| TableA	CREATE TABLE `tablea` (
 | |
|   `a` int(11) DEFAULT NULL
 | |
| ) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci
 | |
|  PARTITION BY KEY (`a`)
 | |
| (PARTITION `parta` ENGINE = MyISAM,
 | |
|  PARTITION `partB` ENGINE = MyISAM,
 | |
|  PARTITION `Partc` ENGINE = MyISAM)
 | |
| SELECT * FROM TableB;
 | |
| a
 | |
| 10
 | |
| 11
 | |
| 4
 | |
| 5
 | |
| SHOW CREATE TABLE TableB;
 | |
| Table	Create Table
 | |
| TableB	CREATE TABLE `tableb` (
 | |
|   `a` int(11) DEFAULT NULL
 | |
| ) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci
 | |
| SELECT PARTITION_NAME, IF(TABLE_ROWS, 'YES', 'NO') AS HAVE_TABLE_ROWS FROM INFORMATION_SCHEMA.PARTITIONS WHERE TABLE_SCHEMA ='MySQL_Test_DB' AND TABLE_NAME = 'TableA';
 | |
| PARTITION_NAME	HAVE_TABLE_ROWS
 | |
| parta	NO
 | |
| partB	YES
 | |
| Partc	YES
 | |
| ALTER TABLE TableA EXCHANGE PARTITION parta WITH TABLE TableB;
 | |
| INSERT INTO TableB VALUES (11);
 | |
| ALTER TABLE TableA EXCHANGE PARTITION Partc WITH TABLE TableB;
 | |
| ERROR HY000: Found a row that does not match the partition
 | |
| DROP TABLE TableB;
 | |
| SELECT * FROM TableA;
 | |
| a
 | |
| 1
 | |
| 10
 | |
| 11
 | |
| 12
 | |
| 2
 | |
| 3
 | |
| 4
 | |
| 5
 | |
| 6
 | |
| 7
 | |
| 8
 | |
| 9
 | |
| SHOW CREATE TABLE TableA;
 | |
| Table	Create Table
 | |
| TableA	CREATE TABLE `tablea` (
 | |
|   `a` int(11) DEFAULT NULL
 | |
| ) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci
 | |
|  PARTITION BY KEY (`a`)
 | |
| (PARTITION `parta` ENGINE = MyISAM,
 | |
|  PARTITION `partB` ENGINE = MyISAM,
 | |
|  PARTITION `Partc` ENGINE = MyISAM)
 | |
| # Test of REORGANIZE PARTITIONS
 | |
| # Should not work on HASH/KEY
 | |
| ALTER TABLE TableA REORGANIZE PARTITION parta,partB,Partc INTO
 | |
| (PARTITION PARTA ,
 | |
| PARTITION partc );
 | |
| ERROR HY000: REORGANIZE PARTITION can only be used to reorganize partitions not to change their numbers
 | |
| ALTER TABLE TableA REORGANIZE PARTITION parta,Partc INTO
 | |
| (PARTITION partB ,
 | |
| PARTITION parta );
 | |
| ERROR HY000: When reorganizing a set of partitions they must be in consecutive order
 | |
| ALTER TABLE TableA REORGANIZE PARTITION parta,partB INTO
 | |
| (PARTITION partB  COMMENT="Previusly named parta",
 | |
| PARTITION parta  COMMENT="Previusly named partB");
 | |
| SELECT * FROM TableA;
 | |
| a
 | |
| 1
 | |
| 10
 | |
| 11
 | |
| 12
 | |
| 2
 | |
| 3
 | |
| 4
 | |
| 5
 | |
| 6
 | |
| 7
 | |
| 8
 | |
| 9
 | |
| SHOW CREATE TABLE TableA;
 | |
| Table	Create Table
 | |
| TableA	CREATE TABLE `tablea` (
 | |
|   `a` int(11) DEFAULT NULL
 | |
| ) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci
 | |
|  PARTITION BY KEY (`a`)
 | |
| (PARTITION `partB` COMMENT = 'Previusly named parta' ENGINE = MyISAM,
 | |
|  PARTITION `parta` COMMENT = 'Previusly named partB' ENGINE = MyISAM,
 | |
|  PARTITION `Partc` ENGINE = MyISAM)
 | |
| # Test of RENAME TABLE
 | |
| RENAME TABLE TableA to TableB;
 | |
| SELECT * FROM TableB;
 | |
| a
 | |
| 1
 | |
| 10
 | |
| 11
 | |
| 12
 | |
| 2
 | |
| 3
 | |
| 4
 | |
| 5
 | |
| 6
 | |
| 7
 | |
| 8
 | |
| 9
 | |
| RENAME TABLE TableB to TableA;
 | |
| SELECT * FROM TableA;
 | |
| a
 | |
| 1
 | |
| 10
 | |
| 11
 | |
| 12
 | |
| 2
 | |
| 3
 | |
| 4
 | |
| 5
 | |
| 6
 | |
| 7
 | |
| 8
 | |
| 9
 | |
| # Checking name comparision Upper vs Lower case
 | |
| # Error if lower_case_table_names != 0
 | |
| # lower_case_table_names: 1
 | |
| CREATE TABLE tablea (a INT)
 | |
| ENGINE = 'MyISAM'
 | |
| PARTITION BY KEY (a)
 | |
| (PARTITION parta ,
 | |
| PARTITION partB ,
 | |
| PARTITION Partc ,
 | |
| PARTITION PartD );
 | |
| ERROR 42S01: Table 'tablea' already exists
 | |
| SHOW TABLES;
 | |
| Tables_in_mysql_test_db
 | |
| tablea
 | |
| RENAME TABLE TableA to tablea;
 | |
| ERROR 42S01: Table 'tablea' already exists
 | |
| RENAME TABLE tablea to TableA;
 | |
| ERROR 42S01: Table 'tablea' already exists
 | |
| SELECT * FROM tablea;
 | |
| a
 | |
| 1
 | |
| 10
 | |
| 11
 | |
| 12
 | |
| 2
 | |
| 3
 | |
| 4
 | |
| 5
 | |
| 6
 | |
| 7
 | |
| 8
 | |
| 9
 | |
| SHOW CREATE TABLE tablea;
 | |
| Table	Create Table
 | |
| tablea	CREATE TABLE `tablea` (
 | |
|   `a` int(11) DEFAULT NULL
 | |
| ) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci
 | |
|  PARTITION BY KEY (`a`)
 | |
| (PARTITION `partB` COMMENT = 'Previusly named parta' ENGINE = MyISAM,
 | |
|  PARTITION `parta` COMMENT = 'Previusly named partB' ENGINE = MyISAM,
 | |
|  PARTITION `Partc` ENGINE = MyISAM)
 | |
| # Test of REMOVE PARTITIONING
 | |
| ALTER TABLE TableA REMOVE PARTITIONING;
 | |
| SELECT * FROM TableA;
 | |
| a
 | |
| 1
 | |
| 10
 | |
| 11
 | |
| 12
 | |
| 2
 | |
| 3
 | |
| 4
 | |
| 5
 | |
| 6
 | |
| 7
 | |
| 8
 | |
| 9
 | |
| SHOW CREATE TABLE TableA;
 | |
| Table	Create Table
 | |
| TableA	CREATE TABLE `tablea` (
 | |
|   `a` int(11) DEFAULT NULL
 | |
| ) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci
 | |
| # Cleaning up after KEY PARTITIONING test
 | |
| DROP TABLE TableA;
 | |
| # 2.0 HASH partitioning mgm
 | |
| # expecting duplicate partition name
 | |
| CREATE TABLE TableA (a INT)
 | |
| ENGINE = 'MyISAM'
 | |
| PARTITION BY HASH (a)
 | |
| (PARTITION parta ,
 | |
| PARTITION partA ,
 | |
| PARTITION Parta ,
 | |
| PARTITION PartA );
 | |
| ERROR HY000: Duplicate partition name partA
 | |
| # Creating Hash partitioned table
 | |
| CREATE TABLE TableA (a INT)
 | |
| ENGINE = 'MyISAM'
 | |
| PARTITION BY HASH (a)
 | |
| (PARTITION parta ,
 | |
| PARTITION partB ,
 | |
| PARTITION Partc ,
 | |
| PARTITION PartD );
 | |
| INSERT INTO TableA VALUES (1), (2), (7), (8), (9), (10);
 | |
| INSERT INTO TableA VALUES (3), (4), (5), (6), (11), (12);
 | |
| SELECT * FROM TableA;
 | |
| a
 | |
| 1
 | |
| 10
 | |
| 11
 | |
| 12
 | |
| 2
 | |
| 3
 | |
| 4
 | |
| 5
 | |
| 6
 | |
| 7
 | |
| 8
 | |
| 9
 | |
| # Test of ADD/COALESCE PARTITIONS
 | |
| # expecting duplicate partition name
 | |
| ALTER TABLE TableA ADD PARTITION
 | |
| (PARTITION partA,
 | |
| PARTITION Parta,
 | |
| PARTITION PartA);
 | |
| ERROR HY000: Duplicate partition name partA
 | |
| ALTER TABLE TableA ADD PARTITION
 | |
| (PARTITION partE,
 | |
| PARTITION Partf,
 | |
| PARTITION PartG);
 | |
| SELECT * FROM TableA;
 | |
| a
 | |
| 1
 | |
| 10
 | |
| 11
 | |
| 12
 | |
| 2
 | |
| 3
 | |
| 4
 | |
| 5
 | |
| 6
 | |
| 7
 | |
| 8
 | |
| 9
 | |
| SHOW CREATE TABLE TableA;
 | |
| Table	Create Table
 | |
| TableA	CREATE TABLE `tablea` (
 | |
|   `a` int(11) DEFAULT NULL
 | |
| ) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci
 | |
|  PARTITION BY HASH (`a`)
 | |
| (PARTITION `parta` ENGINE = MyISAM,
 | |
|  PARTITION `partB` ENGINE = MyISAM,
 | |
|  PARTITION `Partc` ENGINE = MyISAM,
 | |
|  PARTITION `PartD` ENGINE = MyISAM,
 | |
|  PARTITION `partE` ENGINE = MyISAM,
 | |
|  PARTITION `Partf` ENGINE = MyISAM,
 | |
|  PARTITION `PartG` ENGINE = MyISAM)
 | |
| ALTER TABLE TableA COALESCE PARTITION 4;
 | |
| SELECT * FROM TableA;
 | |
| a
 | |
| 1
 | |
| 10
 | |
| 11
 | |
| 12
 | |
| 2
 | |
| 3
 | |
| 4
 | |
| 5
 | |
| 6
 | |
| 7
 | |
| 8
 | |
| 9
 | |
| SHOW CREATE TABLE TableA;
 | |
| Table	Create Table
 | |
| TableA	CREATE TABLE `tablea` (
 | |
|   `a` int(11) DEFAULT NULL
 | |
| ) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci
 | |
|  PARTITION BY HASH (`a`)
 | |
| (PARTITION `parta` ENGINE = MyISAM,
 | |
|  PARTITION `partB` ENGINE = MyISAM,
 | |
|  PARTITION `Partc` ENGINE = MyISAM)
 | |
| # Test of REORGANIZE PARTITIONS
 | |
| # Should not work on HASH/KEY
 | |
| ALTER TABLE TableA REORGANIZE PARTITION parta,partB,Partc INTO
 | |
| (PARTITION PARTA ,
 | |
| PARTITION partc );
 | |
| ERROR HY000: REORGANIZE PARTITION can only be used to reorganize partitions not to change their numbers
 | |
| ALTER TABLE TableA REORGANIZE PARTITION parta,Partc INTO
 | |
| (PARTITION partB ,
 | |
| PARTITION parta );
 | |
| ERROR HY000: When reorganizing a set of partitions they must be in consecutive order
 | |
| ALTER TABLE TableA REORGANIZE PARTITION parta,partB INTO
 | |
| (PARTITION partB  COMMENT="Previusly named parta",
 | |
| PARTITION parta  COMMENT="Previusly named partB");
 | |
| SELECT * FROM TableA;
 | |
| a
 | |
| 1
 | |
| 10
 | |
| 11
 | |
| 12
 | |
| 2
 | |
| 3
 | |
| 4
 | |
| 5
 | |
| 6
 | |
| 7
 | |
| 8
 | |
| 9
 | |
| SHOW CREATE TABLE TableA;
 | |
| Table	Create Table
 | |
| TableA	CREATE TABLE `tablea` (
 | |
|   `a` int(11) DEFAULT NULL
 | |
| ) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci
 | |
|  PARTITION BY HASH (`a`)
 | |
| (PARTITION `partB` COMMENT = 'Previusly named parta' ENGINE = MyISAM,
 | |
|  PARTITION `parta` COMMENT = 'Previusly named partB' ENGINE = MyISAM,
 | |
|  PARTITION `Partc` ENGINE = MyISAM)
 | |
| # Test of RENAME TABLE
 | |
| RENAME TABLE TableA to TableB;
 | |
| SELECT * FROM TableB;
 | |
| a
 | |
| 1
 | |
| 10
 | |
| 11
 | |
| 12
 | |
| 2
 | |
| 3
 | |
| 4
 | |
| 5
 | |
| 6
 | |
| 7
 | |
| 8
 | |
| 9
 | |
| RENAME TABLE TableB to TableA;
 | |
| SELECT * FROM TableA;
 | |
| a
 | |
| 1
 | |
| 10
 | |
| 11
 | |
| 12
 | |
| 2
 | |
| 3
 | |
| 4
 | |
| 5
 | |
| 6
 | |
| 7
 | |
| 8
 | |
| 9
 | |
| # Checking name comparision Upper vs Lower case
 | |
| # Error if lower_case_table_names != 0
 | |
| # lower_case_table_names: 1
 | |
| CREATE TABLE tablea (a INT)
 | |
| ENGINE = 'MyISAM'
 | |
| PARTITION BY HASH (a)
 | |
| (PARTITION parta ,
 | |
| PARTITION partB ,
 | |
| PARTITION Partc ,
 | |
| PARTITION PartD );
 | |
| ERROR 42S01: Table 'tablea' already exists
 | |
| SHOW TABLES;
 | |
| Tables_in_mysql_test_db
 | |
| tablea
 | |
| RENAME TABLE TableA to tablea;
 | |
| ERROR 42S01: Table 'tablea' already exists
 | |
| RENAME TABLE tablea to TableA;
 | |
| ERROR 42S01: Table 'tablea' already exists
 | |
| SELECT * FROM tablea;
 | |
| a
 | |
| 1
 | |
| 10
 | |
| 11
 | |
| 12
 | |
| 2
 | |
| 3
 | |
| 4
 | |
| 5
 | |
| 6
 | |
| 7
 | |
| 8
 | |
| 9
 | |
| SHOW CREATE TABLE tablea;
 | |
| Table	Create Table
 | |
| tablea	CREATE TABLE `tablea` (
 | |
|   `a` int(11) DEFAULT NULL
 | |
| ) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci
 | |
|  PARTITION BY HASH (`a`)
 | |
| (PARTITION `partB` COMMENT = 'Previusly named parta' ENGINE = MyISAM,
 | |
|  PARTITION `parta` COMMENT = 'Previusly named partB' ENGINE = MyISAM,
 | |
|  PARTITION `Partc` ENGINE = MyISAM)
 | |
| # Test of REMOVE PARTITIONING
 | |
| ALTER TABLE TableA REMOVE PARTITIONING;
 | |
| SELECT * FROM TableA;
 | |
| a
 | |
| 1
 | |
| 10
 | |
| 11
 | |
| 12
 | |
| 2
 | |
| 3
 | |
| 4
 | |
| 5
 | |
| 6
 | |
| 7
 | |
| 8
 | |
| 9
 | |
| SHOW CREATE TABLE TableA;
 | |
| Table	Create Table
 | |
| TableA	CREATE TABLE `tablea` (
 | |
|   `a` int(11) DEFAULT NULL
 | |
| ) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci
 | |
| # Cleaning up after HASH PARTITIONING test
 | |
| DROP TABLE TableA;
 | |
| # 3.0 RANGE partitioning mgm
 | |
| # Creating RANGE partitioned table
 | |
| CREATE TABLE TableA (a INT)
 | |
| ENGINE = 'MyISAM'
 | |
| PARTITION BY RANGE (a)
 | |
| (PARTITION parta VALUES LESS THAN (4) ,
 | |
| PARTITION partB VALUES LESS THAN (7) ,
 | |
| PARTITION Partc VALUES LESS THAN (10) ,
 | |
| PARTITION PartD VALUES LESS THAN (13) );
 | |
| INSERT INTO TableA VALUES (1), (2), (7), (8), (9), (10);
 | |
| INSERT INTO TableA VALUES (3), (4), (5), (6), (11), (12);
 | |
| SELECT * FROM TableA;
 | |
| a
 | |
| 1
 | |
| 10
 | |
| 11
 | |
| 12
 | |
| 2
 | |
| 3
 | |
| 4
 | |
| 5
 | |
| 6
 | |
| 7
 | |
| 8
 | |
| 9
 | |
| # Test of ADD/DROP PARTITIONS
 | |
| # expecting duplicate partition name
 | |
| ALTER TABLE TableA ADD PARTITION
 | |
| (PARTITION partA VALUES LESS THAN (MAXVALUE));
 | |
| ERROR HY000: Duplicate partition name partA
 | |
| ALTER TABLE TableA ADD PARTITION
 | |
| (PARTITION partE VALUES LESS THAN (16),
 | |
| PARTITION Partf VALUES LESS THAN (19),
 | |
| PARTITION PartG VALUES LESS THAN (22));
 | |
| SELECT * FROM TableA;
 | |
| a
 | |
| 1
 | |
| 10
 | |
| 11
 | |
| 12
 | |
| 2
 | |
| 3
 | |
| 4
 | |
| 5
 | |
| 6
 | |
| 7
 | |
| 8
 | |
| 9
 | |
| SHOW CREATE TABLE TableA;
 | |
| Table	Create Table
 | |
| TableA	CREATE TABLE `tablea` (
 | |
|   `a` int(11) DEFAULT NULL
 | |
| ) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci
 | |
|  PARTITION BY RANGE (`a`)
 | |
| (PARTITION `parta` VALUES LESS THAN (4) ENGINE = MyISAM,
 | |
|  PARTITION `partB` VALUES LESS THAN (7) ENGINE = MyISAM,
 | |
|  PARTITION `Partc` VALUES LESS THAN (10) ENGINE = MyISAM,
 | |
|  PARTITION `PartD` VALUES LESS THAN (13) ENGINE = MyISAM,
 | |
|  PARTITION `partE` VALUES LESS THAN (16) ENGINE = MyISAM,
 | |
|  PARTITION `Partf` VALUES LESS THAN (19) ENGINE = MyISAM,
 | |
|  PARTITION `PartG` VALUES LESS THAN (22) ENGINE = MyISAM)
 | |
| ALTER TABLE TableA DROP PARTITION partE, PartG;
 | |
| ALTER TABLE TableA DROP PARTITION Partf;
 | |
| ALTER TABLE TableA ADD PARTITION
 | |
| (PARTITION PartE VALUES LESS THAN (MAXVALUE));
 | |
| SELECT * FROM TableA;
 | |
| a
 | |
| 1
 | |
| 10
 | |
| 11
 | |
| 12
 | |
| 2
 | |
| 3
 | |
| 4
 | |
| 5
 | |
| 6
 | |
| 7
 | |
| 8
 | |
| 9
 | |
| SHOW CREATE TABLE TableA;
 | |
| Table	Create Table
 | |
| TableA	CREATE TABLE `tablea` (
 | |
|   `a` int(11) DEFAULT NULL
 | |
| ) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci
 | |
|  PARTITION BY RANGE (`a`)
 | |
| (PARTITION `parta` VALUES LESS THAN (4) ENGINE = MyISAM,
 | |
|  PARTITION `partB` VALUES LESS THAN (7) ENGINE = MyISAM,
 | |
|  PARTITION `Partc` VALUES LESS THAN (10) ENGINE = MyISAM,
 | |
|  PARTITION `PartD` VALUES LESS THAN (13) ENGINE = MyISAM,
 | |
|  PARTITION `PartE` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
 | |
| # Test of REORGANIZE PARTITIONS
 | |
| # Error since it must reorganize a consecutive range
 | |
| ALTER TABLE TableA REORGANIZE PARTITION parta,Partc INTO
 | |
| (PARTITION partB VALUES LESS THAN (3) ,
 | |
| PARTITION parta VALUES LESS THAN (11) );
 | |
| ERROR HY000: When reorganizing a set of partitions they must be in consecutive order
 | |
| ALTER TABLE TableA REORGANIZE PARTITION partB,Partc,PartD,PartE INTO
 | |
| (PARTITION partD VALUES LESS THAN (8) 
 | |
| COMMENT="Previously partB and partly Partc",
 | |
| PARTITION partB VALUES LESS THAN (11) 
 | |
| COMMENT="Previously partly Partc and partly PartD",
 | |
| PARTITION partC VALUES LESS THAN (MAXVALUE) 
 | |
| COMMENT="Previously partly PartD");
 | |
| SELECT * FROM TableA;
 | |
| a
 | |
| 1
 | |
| 10
 | |
| 11
 | |
| 12
 | |
| 2
 | |
| 3
 | |
| 4
 | |
| 5
 | |
| 6
 | |
| 7
 | |
| 8
 | |
| 9
 | |
| SHOW CREATE TABLE TableA;
 | |
| Table	Create Table
 | |
| TableA	CREATE TABLE `tablea` (
 | |
|   `a` int(11) DEFAULT NULL
 | |
| ) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci
 | |
|  PARTITION BY RANGE (`a`)
 | |
| (PARTITION `parta` VALUES LESS THAN (4) ENGINE = MyISAM,
 | |
|  PARTITION `partD` VALUES LESS THAN (8) COMMENT = 'Previously partB and partly Partc' ENGINE = MyISAM,
 | |
|  PARTITION `partB` VALUES LESS THAN (11) COMMENT = 'Previously partly Partc and partly PartD' ENGINE = MyISAM,
 | |
|  PARTITION `partC` VALUES LESS THAN MAXVALUE COMMENT = 'Previously partly PartD' ENGINE = MyISAM)
 | |
| # Test of RENAME TABLE
 | |
| RENAME TABLE TableA to TableB;
 | |
| SELECT * FROM TableB;
 | |
| a
 | |
| 1
 | |
| 10
 | |
| 11
 | |
| 12
 | |
| 2
 | |
| 3
 | |
| 4
 | |
| 5
 | |
| 6
 | |
| 7
 | |
| 8
 | |
| 9
 | |
| RENAME TABLE TableB to TableA;
 | |
| SELECT * FROM TableA;
 | |
| a
 | |
| 1
 | |
| 10
 | |
| 11
 | |
| 12
 | |
| 2
 | |
| 3
 | |
| 4
 | |
| 5
 | |
| 6
 | |
| 7
 | |
| 8
 | |
| 9
 | |
| # Checking name comparision Upper vs Lower case
 | |
| # Error if lower_case_table_names != 0
 | |
| # lower_case_table_names: 1
 | |
| CREATE TABLE tablea (a INT)
 | |
| ENGINE = 'MyISAM'
 | |
| PARTITION BY RANGE (a)
 | |
| (PARTITION parta VALUES LESS THAN (4) ,
 | |
| PARTITION partB VALUES LESS THAN (7) ,
 | |
| PARTITION Partc VALUES LESS THAN (10) ,
 | |
| PARTITION PartD VALUES LESS THAN (13) );
 | |
| ERROR 42S01: Table 'tablea' already exists
 | |
| SHOW TABLES;
 | |
| Tables_in_mysql_test_db
 | |
| tablea
 | |
| RENAME TABLE TableA to tablea;
 | |
| ERROR 42S01: Table 'tablea' already exists
 | |
| RENAME TABLE tablea to TableA;
 | |
| ERROR 42S01: Table 'tablea' already exists
 | |
| SELECT * FROM tablea;
 | |
| a
 | |
| 1
 | |
| 10
 | |
| 11
 | |
| 12
 | |
| 2
 | |
| 3
 | |
| 4
 | |
| 5
 | |
| 6
 | |
| 7
 | |
| 8
 | |
| 9
 | |
| SHOW CREATE TABLE tablea;
 | |
| Table	Create Table
 | |
| tablea	CREATE TABLE `tablea` (
 | |
|   `a` int(11) DEFAULT NULL
 | |
| ) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci
 | |
|  PARTITION BY RANGE (`a`)
 | |
| (PARTITION `parta` VALUES LESS THAN (4) ENGINE = MyISAM,
 | |
|  PARTITION `partD` VALUES LESS THAN (8) COMMENT = 'Previously partB and partly Partc' ENGINE = MyISAM,
 | |
|  PARTITION `partB` VALUES LESS THAN (11) COMMENT = 'Previously partly Partc and partly PartD' ENGINE = MyISAM,
 | |
|  PARTITION `partC` VALUES LESS THAN MAXVALUE COMMENT = 'Previously partly PartD' ENGINE = MyISAM)
 | |
| # Test of REMOVE PARTITIONING
 | |
| ALTER TABLE TableA REMOVE PARTITIONING;
 | |
| SELECT * FROM TableA;
 | |
| a
 | |
| 1
 | |
| 10
 | |
| 11
 | |
| 12
 | |
| 2
 | |
| 3
 | |
| 4
 | |
| 5
 | |
| 6
 | |
| 7
 | |
| 8
 | |
| 9
 | |
| SHOW CREATE TABLE TableA;
 | |
| Table	Create Table
 | |
| TableA	CREATE TABLE `tablea` (
 | |
|   `a` int(11) DEFAULT NULL
 | |
| ) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci
 | |
| # Cleaning up after RANGE PARTITIONING test
 | |
| DROP TABLE TableA;
 | |
| # 4.0 LIST partitioning mgm
 | |
| # Creating LIST partitioned table
 | |
| CREATE TABLE TableA (a INT)
 | |
| ENGINE = 'MyISAM'
 | |
| PARTITION BY LIST (a)
 | |
| (PARTITION parta VALUES IN (1,8,9) ,
 | |
| PARTITION partB VALUES IN (2,10,11) ,
 | |
| PARTITION Partc VALUES IN (3,4,7) ,
 | |
| PARTITION PartD VALUES IN (5,6,12) );
 | |
| INSERT INTO TableA VALUES (1), (2), (7), (8), (9), (10);
 | |
| INSERT INTO TableA VALUES (3), (4), (5), (6), (11), (12);
 | |
| SELECT * FROM TableA;
 | |
| a
 | |
| 1
 | |
| 10
 | |
| 11
 | |
| 12
 | |
| 2
 | |
| 3
 | |
| 4
 | |
| 5
 | |
| 6
 | |
| 7
 | |
| 8
 | |
| 9
 | |
| # Test of ADD/DROP PARTITIONS
 | |
| # expecting duplicate partition name
 | |
| ALTER TABLE TableA ADD PARTITION
 | |
| (PARTITION partA VALUES IN (0));
 | |
| ERROR HY000: Duplicate partition name partA
 | |
| ALTER TABLE TableA ADD PARTITION
 | |
| (PARTITION partE VALUES IN (16),
 | |
| PARTITION Partf VALUES IN (19),
 | |
| PARTITION PartG VALUES IN (22));
 | |
| SELECT * FROM TableA;
 | |
| a
 | |
| 1
 | |
| 10
 | |
| 11
 | |
| 12
 | |
| 2
 | |
| 3
 | |
| 4
 | |
| 5
 | |
| 6
 | |
| 7
 | |
| 8
 | |
| 9
 | |
| SHOW CREATE TABLE TableA;
 | |
| Table	Create Table
 | |
| TableA	CREATE TABLE `tablea` (
 | |
|   `a` int(11) DEFAULT NULL
 | |
| ) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci
 | |
|  PARTITION BY LIST (`a`)
 | |
| (PARTITION `parta` VALUES IN (1,8,9) ENGINE = MyISAM,
 | |
|  PARTITION `partB` VALUES IN (2,10,11) ENGINE = MyISAM,
 | |
|  PARTITION `Partc` VALUES IN (3,4,7) ENGINE = MyISAM,
 | |
|  PARTITION `PartD` VALUES IN (5,6,12) ENGINE = MyISAM,
 | |
|  PARTITION `partE` VALUES IN (16) ENGINE = MyISAM,
 | |
|  PARTITION `Partf` VALUES IN (19) ENGINE = MyISAM,
 | |
|  PARTITION `PartG` VALUES IN (22) ENGINE = MyISAM)
 | |
| ALTER TABLE TableA DROP PARTITION partE, PartG;
 | |
| ALTER TABLE TableA DROP PARTITION Partf;
 | |
| ALTER TABLE TableA ADD PARTITION
 | |
| (PARTITION PartE VALUES IN (13));
 | |
| SELECT * FROM TableA;
 | |
| a
 | |
| 1
 | |
| 10
 | |
| 11
 | |
| 12
 | |
| 2
 | |
| 3
 | |
| 4
 | |
| 5
 | |
| 6
 | |
| 7
 | |
| 8
 | |
| 9
 | |
| SHOW CREATE TABLE TableA;
 | |
| Table	Create Table
 | |
| TableA	CREATE TABLE `tablea` (
 | |
|   `a` int(11) DEFAULT NULL
 | |
| ) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci
 | |
|  PARTITION BY LIST (`a`)
 | |
| (PARTITION `parta` VALUES IN (1,8,9) ENGINE = MyISAM,
 | |
|  PARTITION `partB` VALUES IN (2,10,11) ENGINE = MyISAM,
 | |
|  PARTITION `Partc` VALUES IN (3,4,7) ENGINE = MyISAM,
 | |
|  PARTITION `PartD` VALUES IN (5,6,12) ENGINE = MyISAM,
 | |
|  PARTITION `PartE` VALUES IN (13) ENGINE = MyISAM)
 | |
| # Test of REORGANIZE PARTITIONS
 | |
| ALTER TABLE TableA REORGANIZE PARTITION parta,Partc INTO
 | |
| (PARTITION Partc VALUES IN (1,7) 
 | |
| COMMENT = "Mix 1 of old parta and Partc",
 | |
| PARTITION partF VALUES IN (3,9) 
 | |
| COMMENT = "Mix 2 of old parta and Partc",
 | |
| PARTITION parta VALUES IN (4,8) 
 | |
| COMMENT = "Mix 3 of old parta and Partc");
 | |
| ERROR HY000: When reorganizing a set of partitions they must be in consecutive order
 | |
| ALTER TABLE TableA REORGANIZE PARTITION parta,partB,Partc INTO
 | |
| (PARTITION Partc VALUES IN (1,7) 
 | |
| COMMENT = "Mix 1 of old parta and Partc",
 | |
| PARTITION parta VALUES IN (3,9) 
 | |
| COMMENT = "Mix 2 of old parta and Partc",
 | |
| PARTITION partB VALUES IN (4,8) 
 | |
| COMMENT = "Mix 3 of old parta and Partc");
 | |
| SELECT * FROM TableA;
 | |
| a
 | |
| 1
 | |
| 12
 | |
| 3
 | |
| 4
 | |
| 5
 | |
| 6
 | |
| 7
 | |
| 8
 | |
| 9
 | |
| SHOW CREATE TABLE TableA;
 | |
| Table	Create Table
 | |
| TableA	CREATE TABLE `tablea` (
 | |
|   `a` int(11) DEFAULT NULL
 | |
| ) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci
 | |
|  PARTITION BY LIST (`a`)
 | |
| (PARTITION `Partc` VALUES IN (1,7) COMMENT = 'Mix 1 of old parta and Partc' ENGINE = MyISAM,
 | |
|  PARTITION `parta` VALUES IN (3,9) COMMENT = 'Mix 2 of old parta and Partc' ENGINE = MyISAM,
 | |
|  PARTITION `partB` VALUES IN (4,8) COMMENT = 'Mix 3 of old parta and Partc' ENGINE = MyISAM,
 | |
|  PARTITION `PartD` VALUES IN (5,6,12) ENGINE = MyISAM,
 | |
|  PARTITION `PartE` VALUES IN (13) ENGINE = MyISAM)
 | |
| # Test of RENAME TABLE
 | |
| RENAME TABLE TableA to TableB;
 | |
| SELECT * FROM TableB;
 | |
| a
 | |
| 1
 | |
| 12
 | |
| 3
 | |
| 4
 | |
| 5
 | |
| 6
 | |
| 7
 | |
| 8
 | |
| 9
 | |
| RENAME TABLE TableB to TableA;
 | |
| SELECT * FROM TableA;
 | |
| a
 | |
| 1
 | |
| 12
 | |
| 3
 | |
| 4
 | |
| 5
 | |
| 6
 | |
| 7
 | |
| 8
 | |
| 9
 | |
| # Checking name comparision Upper vs Lower case
 | |
| # Error if lower_case_table_names != 0
 | |
| # lower_case_table_names: 1
 | |
| CREATE TABLE tablea (a INT)
 | |
| ENGINE = 'MyISAM'
 | |
| PARTITION BY LIST (a)
 | |
| (PARTITION parta VALUES IN (1,8,9) ,
 | |
| PARTITION partB VALUES IN (2,10,11) ,
 | |
| PARTITION Partc VALUES IN (3,4,7) ,
 | |
| PARTITION PartD VALUES IN (5,6,12) );
 | |
| ERROR 42S01: Table 'tablea' already exists
 | |
| SHOW TABLES;
 | |
| Tables_in_mysql_test_db
 | |
| tablea
 | |
| RENAME TABLE TableA to tablea;
 | |
| ERROR 42S01: Table 'tablea' already exists
 | |
| RENAME TABLE tablea to TableA;
 | |
| ERROR 42S01: Table 'tablea' already exists
 | |
| SELECT * FROM tablea;
 | |
| a
 | |
| 1
 | |
| 12
 | |
| 3
 | |
| 4
 | |
| 5
 | |
| 6
 | |
| 7
 | |
| 8
 | |
| 9
 | |
| SHOW CREATE TABLE tablea;
 | |
| Table	Create Table
 | |
| tablea	CREATE TABLE `tablea` (
 | |
|   `a` int(11) DEFAULT NULL
 | |
| ) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci
 | |
|  PARTITION BY LIST (`a`)
 | |
| (PARTITION `Partc` VALUES IN (1,7) COMMENT = 'Mix 1 of old parta and Partc' ENGINE = MyISAM,
 | |
|  PARTITION `parta` VALUES IN (3,9) COMMENT = 'Mix 2 of old parta and Partc' ENGINE = MyISAM,
 | |
|  PARTITION `partB` VALUES IN (4,8) COMMENT = 'Mix 3 of old parta and Partc' ENGINE = MyISAM,
 | |
|  PARTITION `PartD` VALUES IN (5,6,12) ENGINE = MyISAM,
 | |
|  PARTITION `PartE` VALUES IN (13) ENGINE = MyISAM)
 | |
| # Test of REMOVE PARTITIONING
 | |
| ALTER TABLE TableA REMOVE PARTITIONING;
 | |
| SELECT * FROM TableA;
 | |
| a
 | |
| 1
 | |
| 12
 | |
| 3
 | |
| 4
 | |
| 5
 | |
| 6
 | |
| 7
 | |
| 8
 | |
| 9
 | |
| SHOW CREATE TABLE TableA;
 | |
| Table	Create Table
 | |
| TableA	CREATE TABLE `tablea` (
 | |
|   `a` int(11) DEFAULT NULL
 | |
| ) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci
 | |
| # Cleaning up after LIST PARTITIONING test
 | |
| DROP TABLE TableA;
 | |
| # Testing TRUNCATE PARTITION
 | |
| CREATE TABLE t1
 | |
| (a BIGINT AUTO_INCREMENT PRIMARY KEY,
 | |
| b VARCHAR(255))
 | |
| ENGINE = 'MyISAM'
 | |
| PARTITION BY RANGE (a)
 | |
| (PARTITION LT1000 VALUES LESS THAN (1000),
 | |
| PARTITION LT2000 VALUES LESS THAN (2000),
 | |
| PARTITION MAX VALUES LESS THAN MAXVALUE);
 | |
| INSERT INTO t1 VALUES (NULL, "First"), (NULL, "Second"), (999, "Last in LT1000"), (NULL, "First in LT2000"), (NULL, "Second in LT2000"), (1999, "Last in LT2000"), (NULL, "First in MAX"), (NULL, "Second in MAX");
 | |
| SHOW CREATE TABLE t1;
 | |
| Table	Create Table
 | |
| t1	CREATE TABLE `t1` (
 | |
|   `a` bigint(20) NOT NULL AUTO_INCREMENT,
 | |
|   `b` varchar(255) DEFAULT NULL,
 | |
|   PRIMARY KEY (`a`)
 | |
| ) ENGINE=MyISAM AUTO_INCREMENT=2002 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci
 | |
|  PARTITION BY RANGE (`a`)
 | |
| (PARTITION `LT1000` VALUES LESS THAN (1000) ENGINE = MyISAM,
 | |
|  PARTITION `LT2000` VALUES LESS THAN (2000) ENGINE = MyISAM,
 | |
|  PARTITION `MAX` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
 | |
| SELECT * FROM t1 ORDER BY a;
 | |
| a	b
 | |
| 1	First
 | |
| 2	Second
 | |
| 999	Last in LT1000
 | |
| 1000	First in LT2000
 | |
| 1001	Second in LT2000
 | |
| 1999	Last in LT2000
 | |
| 2000	First in MAX
 | |
| 2001	Second in MAX
 | |
| ALTER TABLE t1 ANALYZE PARTITION MAX;
 | |
| Table	Op	Msg_type	Msg_text
 | |
| mysql_test_db.t1	analyze	status	OK
 | |
| # Truncate without FLUSH
 | |
| ALTER TABLE t1 TRUNCATE PARTITION MAX;
 | |
| INSERT INTO t1 VALUES (NULL, "First after TRUNCATE MAX (1)");
 | |
| SELECT * FROM t1 WHERE a >= 2000;
 | |
| a	b
 | |
| 2000	First after TRUNCATE MAX (1)
 | |
| # Truncate with FLUSH after
 | |
| ALTER TABLE t1 TRUNCATE PARTITION MAX;
 | |
| FLUSH TABLES;
 | |
| INSERT INTO t1 VALUES (NULL, "First after TRUNCATE MAX (2)");
 | |
| SELECT * FROM t1 WHERE a >= 2000;
 | |
| a	b
 | |
| 2000	First after TRUNCATE MAX (2)
 | |
| # Truncate with FLUSH before
 | |
| FLUSH TABLES;
 | |
| ALTER TABLE t1 TRUNCATE PARTITION MAX;
 | |
| INSERT INTO t1 VALUES (NULL, "First after TRUNCATE MAX (3)");
 | |
| SELECT * FROM t1 WHERE a >= 2000;
 | |
| a	b
 | |
| 2000	First after TRUNCATE MAX (3)
 | |
| # Truncate with FLUSH after INSERT
 | |
| FLUSH TABLES;
 | |
| ALTER TABLE t1 TRUNCATE PARTITION MAX;
 | |
| INSERT INTO t1 VALUES (NULL, "First after TRUNCATE MAX (4)");
 | |
| SELECT * FROM t1 WHERE a >= 2000;
 | |
| a	b
 | |
| 2000	First after TRUNCATE MAX (4)
 | |
| # Truncate without FLUSH
 | |
| ALTER TABLE t1 TRUNCATE PARTITION LT1000;
 | |
| INSERT INTO t1 VALUES (NULL, "First after TRUNCATE LT1000 (1)");
 | |
| SELECT * FROM t1 ORDER BY a;
 | |
| a	b
 | |
| 1000	First in LT2000
 | |
| 1001	Second in LT2000
 | |
| 1999	Last in LT2000
 | |
| 2000	First after TRUNCATE MAX (4)
 | |
| 2001	First after TRUNCATE LT1000 (1)
 | |
| # Truncate with FLUSH after
 | |
| ALTER TABLE t1 TRUNCATE PARTITION LT1000;
 | |
| FLUSH TABLES;
 | |
| INSERT INTO t1 VALUES (NULL, "First after TRUNCATE LT1000 (2)");
 | |
| SELECT * FROM t1 ORDER BY a;
 | |
| a	b
 | |
| 1000	First in LT2000
 | |
| 1001	Second in LT2000
 | |
| 1999	Last in LT2000
 | |
| 2000	First after TRUNCATE MAX (4)
 | |
| 2001	First after TRUNCATE LT1000 (1)
 | |
| 2002	First after TRUNCATE LT1000 (2)
 | |
| # Truncate with FLUSH before
 | |
| FLUSH TABLES;
 | |
| ALTER TABLE t1 TRUNCATE PARTITION LT1000;
 | |
| INSERT INTO t1 VALUES (NULL, "First after TRUNCATE LT1000 (3)");
 | |
| SELECT * FROM t1 ORDER BY a;
 | |
| a	b
 | |
| 1000	First in LT2000
 | |
| 1001	Second in LT2000
 | |
| 1999	Last in LT2000
 | |
| 2000	First after TRUNCATE MAX (4)
 | |
| 2001	First after TRUNCATE LT1000 (1)
 | |
| 2002	First after TRUNCATE LT1000 (2)
 | |
| 2003	First after TRUNCATE LT1000 (3)
 | |
| # Truncate with FLUSH after INSERT
 | |
| FLUSH TABLES;
 | |
| ALTER TABLE t1 TRUNCATE PARTITION LT1000;
 | |
| INSERT INTO t1 VALUES (NULL, "First after TRUNCATE LT1000 (4)");
 | |
| SELECT * FROM t1 ORDER BY a;
 | |
| a	b
 | |
| 1000	First in LT2000
 | |
| 1001	Second in LT2000
 | |
| 1999	Last in LT2000
 | |
| 2000	First after TRUNCATE MAX (4)
 | |
| 2001	First after TRUNCATE LT1000 (1)
 | |
| 2002	First after TRUNCATE LT1000 (2)
 | |
| 2003	First after TRUNCATE LT1000 (3)
 | |
| 2004	First after TRUNCATE LT1000 (4)
 | |
| # Truncate without FLUSH
 | |
| ALTER TABLE t1 TRUNCATE PARTITION LT2000;
 | |
| INSERT INTO t1 VALUES (NULL, "First after TRUNCATE LT2000 (1)");
 | |
| SELECT * FROM t1 ORDER BY a;
 | |
| a	b
 | |
| 2000	First after TRUNCATE MAX (4)
 | |
| 2001	First after TRUNCATE LT1000 (1)
 | |
| 2002	First after TRUNCATE LT1000 (2)
 | |
| 2003	First after TRUNCATE LT1000 (3)
 | |
| 2004	First after TRUNCATE LT1000 (4)
 | |
| 2005	First after TRUNCATE LT2000 (1)
 | |
| # Truncate with FLUSH after
 | |
| ALTER TABLE t1 TRUNCATE PARTITION LT2000;
 | |
| FLUSH TABLES;
 | |
| INSERT INTO t1 VALUES (NULL, "First after TRUNCATE LT2000 (2)");
 | |
| SELECT * FROM t1 ORDER BY a;
 | |
| a	b
 | |
| 2000	First after TRUNCATE MAX (4)
 | |
| 2001	First after TRUNCATE LT1000 (1)
 | |
| 2002	First after TRUNCATE LT1000 (2)
 | |
| 2003	First after TRUNCATE LT1000 (3)
 | |
| 2004	First after TRUNCATE LT1000 (4)
 | |
| 2005	First after TRUNCATE LT2000 (1)
 | |
| 2006	First after TRUNCATE LT2000 (2)
 | |
| # Truncate with FLUSH before
 | |
| FLUSH TABLES;
 | |
| ALTER TABLE t1 TRUNCATE PARTITION LT2000;
 | |
| INSERT INTO t1 VALUES (NULL, "First after TRUNCATE LT2000 (3)");
 | |
| SELECT * FROM t1 ORDER BY a;
 | |
| a	b
 | |
| 2000	First after TRUNCATE MAX (4)
 | |
| 2001	First after TRUNCATE LT1000 (1)
 | |
| 2002	First after TRUNCATE LT1000 (2)
 | |
| 2003	First after TRUNCATE LT1000 (3)
 | |
| 2004	First after TRUNCATE LT1000 (4)
 | |
| 2005	First after TRUNCATE LT2000 (1)
 | |
| 2006	First after TRUNCATE LT2000 (2)
 | |
| 2007	First after TRUNCATE LT2000 (3)
 | |
| # Truncate with FLUSH after INSERT
 | |
| FLUSH TABLES;
 | |
| ALTER TABLE t1 TRUNCATE PARTITION LT2000;
 | |
| INSERT INTO t1 VALUES (NULL, "First after TRUNCATE LT2000 (4)");
 | |
| SELECT * FROM t1 ORDER BY a;
 | |
| a	b
 | |
| 2000	First after TRUNCATE MAX (4)
 | |
| 2001	First after TRUNCATE LT1000 (1)
 | |
| 2002	First after TRUNCATE LT1000 (2)
 | |
| 2003	First after TRUNCATE LT1000 (3)
 | |
| 2004	First after TRUNCATE LT1000 (4)
 | |
| 2005	First after TRUNCATE LT2000 (1)
 | |
| 2006	First after TRUNCATE LT2000 (2)
 | |
| 2007	First after TRUNCATE LT2000 (3)
 | |
| 2008	First after TRUNCATE LT2000 (4)
 | |
| DROP TABLE t1;
 | |
| # Cleaning up before exit
 | |
| USE test;
 | |
| DROP DATABASE MySQL_Test_DB;
 | 
