summaryrefslogtreecommitdiff
path: root/mysql-test/suite/parts/r/partition_mgm_lc1_innodb.result
diff options
context:
space:
mode:
Diffstat (limited to 'mysql-test/suite/parts/r/partition_mgm_lc1_innodb.result')
-rw-r--r--mysql-test/suite/parts/r/partition_mgm_lc1_innodb.result72
1 files changed, 72 insertions, 0 deletions
diff --git a/mysql-test/suite/parts/r/partition_mgm_lc1_innodb.result b/mysql-test/suite/parts/r/partition_mgm_lc1_innodb.result
index f2509471e9e..e1c2d0a74bb 100644
--- a/mysql-test/suite/parts/r/partition_mgm_lc1_innodb.result
+++ b/mysql-test/suite/parts/r/partition_mgm_lc1_innodb.result
@@ -88,6 +88,78 @@ TableA CREATE TABLE `tablea` (
(PARTITION parta ENGINE = InnoDB,
PARTITION partB ENGINE = InnoDB,
PARTITION Partc ENGINE = InnoDB) */
+# 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=InnoDB DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY KEY (a)
+(PARTITION parta ENGINE = InnoDB,
+ PARTITION partB ENGINE = InnoDB,
+ PARTITION Partc ENGINE = InnoDB) */
+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=InnoDB DEFAULT CHARSET=latin1
+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=InnoDB DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY KEY (a)
+(PARTITION parta ENGINE = InnoDB,
+ PARTITION partB ENGINE = InnoDB,
+ PARTITION Partc ENGINE = InnoDB) */
# Test of REORGANIZE PARTITIONS
# Should not work on HASH/KEY
ALTER TABLE TableA REORGANIZE PARTITION parta,partB,Partc INTO