mirror of
https://github.com/MariaDB/server.git
synced 2025-01-17 20:42:30 +01:00
69 lines
2.1 KiB
Text
69 lines
2.1 KiB
Text
# Author: Horst Hunger
|
|
# Created: 2010-07-05
|
|
|
|
source include/have_partition.inc;
|
|
|
|
let $engine_table= MYISAM;
|
|
let $engine_part= MYISAM;
|
|
let $engine_subpart= MYISAM;
|
|
|
|
use test;
|
|
|
|
source suite/parts/inc/part_exch_tabs.inc;
|
|
|
|
sorted_result;
|
|
SELECT * FROM t_10;
|
|
sorted_result;
|
|
SELECT * FROM t_100;
|
|
sorted_result;
|
|
SELECT * FROM t_1000;
|
|
sorted_result;
|
|
SELECT * FROM tp;
|
|
sorted_result;
|
|
SELECT * FROM tsp;
|
|
sorted_result;
|
|
SELECT * FROM tsp_00;
|
|
sorted_result;
|
|
SELECT * FROM tsp_01;
|
|
sorted_result;
|
|
SELECT * FROM tsp_02;
|
|
sorted_result;
|
|
SELECT * FROM tsp_03;
|
|
sorted_result;
|
|
SELECT * FROM tsp_04;
|
|
|
|
# 3) Invalid exchanges.
|
|
# Exchange of partition with table differing in structure.
|
|
CREATE TABLE t_11(a INT,b VARCHAR(55)) SELECT * FROM t_10;
|
|
error ER_TABLES_DIFFERENT_METADATA;
|
|
ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t_11;
|
|
DROP TABLE t_11;
|
|
eval CREATE TABLE t_11(a INT,b CHAR(55),PRIMARY KEY(a)) ENGINE= $engine_table SELECT * FROM t_10;
|
|
error ER_TABLES_DIFFERENT_METADATA;
|
|
ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t_11;
|
|
DROP TABLE t_11;
|
|
CREATE TABLE t_11(a INT,b VARCHAR(55),PRIMARY KEY(a)) ENGINE= MEMORY SELECT * FROM t_10;
|
|
error ER_MIX_HANDLER_ERROR;
|
|
ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t_11;
|
|
DROP TABLE t_11;
|
|
# Exchange of partition with partitioned table.
|
|
eval CREATE TABLE t_11(a INT,b CHAR(55),PRIMARY KEY(a)) ENGINE= $engine_table
|
|
PARTITION BY KEY() AS SELECT * FROM t_10;
|
|
error ER_PARTITION_EXCHANGE_PART_TABLE;
|
|
ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t_11;
|
|
DROP TABLE t_11;
|
|
# Exchange of subpartition with partitioned table.
|
|
error ER_PARTITION_EXCHANGE_PART_TABLE;
|
|
ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE tsp;
|
|
# Exchange of subpartitioned partition with table.
|
|
error ER_PARTITION_INSTEAD_OF_SUBPARTITION;
|
|
ALTER TABLE tsp EXCHANGE PARTITION p0 WITH TABLE t_10;
|
|
# Exchange of values in partition not fitting the hash.
|
|
error ER_ROW_DOES_NOT_MATCH_PARTITION;
|
|
ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t_100;
|
|
# Exchange of values in subpartition not fitting the hash.
|
|
error ER_ROW_DOES_NOT_MATCH_PARTITION;
|
|
ALTER TABLE tp EXCHANGE PARTITION p2 WITH TABLE t_10;
|
|
|
|
source suite/parts/inc/part_exch_drop_tabs.inc;
|
|
|