mirror of
https://github.com/MariaDB/server.git
synced 2025-01-28 01:34:17 +01:00
80 lines
2.4 KiB
Text
80 lines
2.4 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;
|
|
|
|
--disable_result_log
|
|
--disable_query_log
|
|
--source suite/parts/inc/part_exch_tabs.inc
|
|
--enable_result_log
|
|
--enable_query_log
|
|
|
|
--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;
|
|
--disable_warnings
|
|
DROP TABLE IF EXISTS t_11;
|
|
--enable_warnings
|
|
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;
|
|
--disable_warnings
|
|
DROP TABLE IF EXISTS 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;
|
|
--disable_warnings
|
|
DROP TABLE IF EXISTS t_11;
|
|
--enable_warnings
|
|
# 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;
|
|
--disable_warnings
|
|
DROP TABLE IF EXISTS t_11;
|
|
--enable_warnings
|
|
# 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
|
|
|