# 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 = 'Archive'
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=ARCHIVE DEFAULT CHARSET=latin1
/*!50100 PARTITION BY KEY (a)
(PARTITION parta ENGINE = ARCHIVE,
 PARTITION partB ENGINE = ARCHIVE,
 PARTITION Partc ENGINE = ARCHIVE,
 PARTITION PartD ENGINE = ARCHIVE,
 PARTITION partE ENGINE = ARCHIVE,
 PARTITION Partf ENGINE = ARCHIVE,
 PARTITION PartG ENGINE = ARCHIVE) */
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=ARCHIVE DEFAULT CHARSET=latin1
/*!50100 PARTITION BY KEY (a)
(PARTITION parta ENGINE = ARCHIVE,
 PARTITION partB ENGINE = ARCHIVE,
 PARTITION Partc ENGINE = ARCHIVE) */
# 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=ARCHIVE DEFAULT CHARSET=latin1
/*!50100 PARTITION BY KEY (a)
(PARTITION partB COMMENT = 'Previusly named parta' ENGINE = ARCHIVE,
 PARTITION parta COMMENT = 'Previusly named partB' ENGINE = ARCHIVE,
 PARTITION Partc ENGINE = ARCHIVE) */
# 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: 0
CREATE TABLE tablea (a INT)
ENGINE = 'Archive'
PARTITION BY KEY (a)
(PARTITION parta ,
PARTITION partB ,
PARTITION Partc ,
PARTITION PartD );
INSERT INTO tablea VALUES (1), (2), (7), (8), (9), (10);
SHOW TABLES;
Tables_in_MySQL_Test_DB
TableA
tablea
RENAME TABLE TableA to tableA;
SELECT * FROM tablea;
a
1
10
2
7
8
9
SELECT * FROM tableA;
a
1
10
11
12
2
3
4
5
6
7
8
9
RENAME TABLE tableA to TableA;
SHOW CREATE TABLE tablea;
Table	Create Table
tablea	CREATE TABLE `tablea` (
  `a` int(11) DEFAULT NULL
) ENGINE=ARCHIVE DEFAULT CHARSET=latin1
/*!50100 PARTITION BY KEY (a)
(PARTITION parta ENGINE = ARCHIVE,
 PARTITION partB ENGINE = ARCHIVE,
 PARTITION Partc ENGINE = ARCHIVE,
 PARTITION PartD ENGINE = ARCHIVE) */
DROP TABLE tablea;
# 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=ARCHIVE DEFAULT CHARSET=latin1
# Cleaning up after KEY PARTITIONING test
DROP TABLE TableA;
# 2.0 HASH partitioning mgm
# expecting duplicate partition name
CREATE TABLE TableA (a INT)
ENGINE = 'Archive'
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 = 'Archive'
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=ARCHIVE DEFAULT CHARSET=latin1
/*!50100 PARTITION BY HASH (a)
(PARTITION parta ENGINE = ARCHIVE,
 PARTITION partB ENGINE = ARCHIVE,
 PARTITION Partc ENGINE = ARCHIVE,
 PARTITION PartD ENGINE = ARCHIVE,
 PARTITION partE ENGINE = ARCHIVE,
 PARTITION Partf ENGINE = ARCHIVE,
 PARTITION PartG ENGINE = ARCHIVE) */
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=ARCHIVE DEFAULT CHARSET=latin1
/*!50100 PARTITION BY HASH (a)
(PARTITION parta ENGINE = ARCHIVE,
 PARTITION partB ENGINE = ARCHIVE,
 PARTITION Partc ENGINE = ARCHIVE) */
# 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=ARCHIVE DEFAULT CHARSET=latin1
/*!50100 PARTITION BY HASH (a)
(PARTITION partB COMMENT = 'Previusly named parta' ENGINE = ARCHIVE,
 PARTITION parta COMMENT = 'Previusly named partB' ENGINE = ARCHIVE,
 PARTITION Partc ENGINE = ARCHIVE) */
# 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: 0
CREATE TABLE tablea (a INT)
ENGINE = 'Archive'
PARTITION BY HASH (a)
(PARTITION parta ,
PARTITION partB ,
PARTITION Partc ,
PARTITION PartD );
INSERT INTO tablea VALUES (1), (2), (7), (8), (9), (10);
SHOW TABLES;
Tables_in_MySQL_Test_DB
TableA
tablea
RENAME TABLE TableA to tableA;
SELECT * FROM tablea;
a
1
10
2
7
8
9
SELECT * FROM tableA;
a
1
10
11
12
2
3
4
5
6
7
8
9
RENAME TABLE tableA to TableA;
SHOW CREATE TABLE tablea;
Table	Create Table
tablea	CREATE TABLE `tablea` (
  `a` int(11) DEFAULT NULL
) ENGINE=ARCHIVE DEFAULT CHARSET=latin1
/*!50100 PARTITION BY HASH (a)
(PARTITION parta ENGINE = ARCHIVE,
 PARTITION partB ENGINE = ARCHIVE,
 PARTITION Partc ENGINE = ARCHIVE,
 PARTITION PartD ENGINE = ARCHIVE) */
DROP TABLE tablea;
# 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=ARCHIVE DEFAULT CHARSET=latin1
# Cleaning up after HASH PARTITIONING test
DROP TABLE TableA;
# 3.0 RANGE partitioning mgm
# Creating RANGE partitioned table
CREATE TABLE TableA (a INT)
ENGINE = 'Archive'
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=ARCHIVE DEFAULT CHARSET=latin1
/*!50100 PARTITION BY RANGE (a)
(PARTITION parta VALUES LESS THAN (4) ENGINE = ARCHIVE,
 PARTITION partB VALUES LESS THAN (7) ENGINE = ARCHIVE,
 PARTITION Partc VALUES LESS THAN (10) ENGINE = ARCHIVE,
 PARTITION PartD VALUES LESS THAN (13) ENGINE = ARCHIVE,
 PARTITION partE VALUES LESS THAN (16) ENGINE = ARCHIVE,
 PARTITION Partf VALUES LESS THAN (19) ENGINE = ARCHIVE,
 PARTITION PartG VALUES LESS THAN (22) ENGINE = ARCHIVE) */
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=ARCHIVE DEFAULT CHARSET=latin1
/*!50100 PARTITION BY RANGE (a)
(PARTITION parta VALUES LESS THAN (4) ENGINE = ARCHIVE,
 PARTITION partB VALUES LESS THAN (7) ENGINE = ARCHIVE,
 PARTITION Partc VALUES LESS THAN (10) ENGINE = ARCHIVE,
 PARTITION PartD VALUES LESS THAN (13) ENGINE = ARCHIVE,
 PARTITION PartE VALUES LESS THAN MAXVALUE ENGINE = ARCHIVE) */
# 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=ARCHIVE DEFAULT CHARSET=latin1
/*!50100 PARTITION BY RANGE (a)
(PARTITION parta VALUES LESS THAN (4) ENGINE = ARCHIVE,
 PARTITION partD VALUES LESS THAN (8) COMMENT = 'Previously partB and partly Partc' ENGINE = ARCHIVE,
 PARTITION partB VALUES LESS THAN (11) COMMENT = 'Previously partly Partc and partly PartD' ENGINE = ARCHIVE,
 PARTITION partC VALUES LESS THAN MAXVALUE COMMENT = 'Previously partly PartD' ENGINE = ARCHIVE) */
# 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: 0
CREATE TABLE tablea (a INT)
ENGINE = 'Archive'
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);
SHOW TABLES;
Tables_in_MySQL_Test_DB
TableA
tablea
RENAME TABLE TableA to tableA;
SELECT * FROM tablea;
a
1
10
2
7
8
9
SELECT * FROM tableA;
a
1
10
11
12
2
3
4
5
6
7
8
9
RENAME TABLE tableA to TableA;
SHOW CREATE TABLE tablea;
Table	Create Table
tablea	CREATE TABLE `tablea` (
  `a` int(11) DEFAULT NULL
) ENGINE=ARCHIVE DEFAULT CHARSET=latin1
/*!50100 PARTITION BY RANGE (a)
(PARTITION parta VALUES LESS THAN (4) ENGINE = ARCHIVE,
 PARTITION partB VALUES LESS THAN (7) ENGINE = ARCHIVE,
 PARTITION Partc VALUES LESS THAN (10) ENGINE = ARCHIVE,
 PARTITION PartD VALUES LESS THAN (13) ENGINE = ARCHIVE) */
DROP TABLE tablea;
# 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=ARCHIVE DEFAULT CHARSET=latin1
# Cleaning up after RANGE PARTITIONING test
DROP TABLE TableA;
# 4.0 LIST partitioning mgm
# Creating LIST partitioned table
CREATE TABLE TableA (a INT)
ENGINE = 'Archive'
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=ARCHIVE DEFAULT CHARSET=latin1
/*!50100 PARTITION BY LIST (a)
(PARTITION parta VALUES IN (1,8,9) ENGINE = ARCHIVE,
 PARTITION partB VALUES IN (2,10,11) ENGINE = ARCHIVE,
 PARTITION Partc VALUES IN (3,4,7) ENGINE = ARCHIVE,
 PARTITION PartD VALUES IN (5,6,12) ENGINE = ARCHIVE,
 PARTITION partE VALUES IN (16) ENGINE = ARCHIVE,
 PARTITION Partf VALUES IN (19) ENGINE = ARCHIVE,
 PARTITION PartG VALUES IN (22) ENGINE = ARCHIVE) */
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=ARCHIVE DEFAULT CHARSET=latin1
/*!50100 PARTITION BY LIST (a)
(PARTITION parta VALUES IN (1,8,9) ENGINE = ARCHIVE,
 PARTITION partB VALUES IN (2,10,11) ENGINE = ARCHIVE,
 PARTITION Partc VALUES IN (3,4,7) ENGINE = ARCHIVE,
 PARTITION PartD VALUES IN (5,6,12) ENGINE = ARCHIVE,
 PARTITION PartE VALUES IN (13) ENGINE = ARCHIVE) */
# 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=ARCHIVE DEFAULT CHARSET=latin1
/*!50100 PARTITION BY LIST (a)
(PARTITION Partc VALUES IN (1,7) COMMENT = 'Mix 1 of old parta and Partc' ENGINE = ARCHIVE,
 PARTITION parta VALUES IN (3,9) COMMENT = 'Mix 2 of old parta and Partc' ENGINE = ARCHIVE,
 PARTITION partB VALUES IN (4,8) COMMENT = 'Mix 3 of old parta and Partc' ENGINE = ARCHIVE,
 PARTITION PartD VALUES IN (5,6,12) ENGINE = ARCHIVE,
 PARTITION PartE VALUES IN (13) ENGINE = ARCHIVE) */
# 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: 0
CREATE TABLE tablea (a INT)
ENGINE = 'Archive'
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);
SHOW TABLES;
Tables_in_MySQL_Test_DB
TableA
tablea
RENAME TABLE TableA to tableA;
SELECT * FROM tablea;
a
1
10
2
7
8
9
SELECT * FROM tableA;
a
1
12
3
4
5
6
7
8
9
RENAME TABLE tableA to TableA;
SHOW CREATE TABLE tablea;
Table	Create Table
tablea	CREATE TABLE `tablea` (
  `a` int(11) DEFAULT NULL
) ENGINE=ARCHIVE DEFAULT CHARSET=latin1
/*!50100 PARTITION BY LIST (a)
(PARTITION parta VALUES IN (1,8,9) ENGINE = ARCHIVE,
 PARTITION partB VALUES IN (2,10,11) ENGINE = ARCHIVE,
 PARTITION Partc VALUES IN (3,4,7) ENGINE = ARCHIVE,
 PARTITION PartD VALUES IN (5,6,12) ENGINE = ARCHIVE) */
DROP TABLE tablea;
# 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=ARCHIVE DEFAULT CHARSET=latin1
# Cleaning up after LIST PARTITIONING test
DROP TABLE TableA;
# Verify that TRUNCATE PARTITION gives error
CREATE TABLE t1
(a BIGINT AUTO_INCREMENT PRIMARY KEY,
b VARCHAR(255))
ENGINE = 'Archive'
PARTITION BY KEY (a)
(PARTITION LT1000,
PARTITION LT2000,
PARTITION MAX);
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");
ALTER TABLE t1 TRUNCATE PARTITION MAX;
Got one of the listed errors
SELECT * FROM t1;
a	b
1	First
1000	First in LT2000
1001	Second in LT2000
1999	Last in LT2000
2	Second
2000	First in MAX
2001	Second in MAX
999	Last in LT1000
# Cleaning up before exit
USE test;
DROP DATABASE MySQL_Test_DB;
