mirror of
https://github.com/MariaDB/server.git
synced 2025-01-28 01:34:17 +01:00
148 lines
4.1 KiB
SQL
148 lines
4.1 KiB
SQL
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;
|
|
|
|
# 1) Valid exchange with partitions.
|
|
# exchange of values < 10 of tp to t and complete contents of t to p0 and back.
|
|
ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t_10;
|
|
--sorted_result
|
|
SELECT * FROM t_10;
|
|
--sorted_result
|
|
SELECT * FROM tp WHERE a BETWEEN 0 AND 10;
|
|
# Back to the former contents.
|
|
ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t_10;
|
|
--sorted_result
|
|
SELECT * FROM t_10;
|
|
--sorted_result
|
|
SELECT * FROM tp WHERE a BETWEEN 0 AND 10;
|
|
|
|
# Exchange with empty table.
|
|
ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t_empty;
|
|
--sorted_result
|
|
SELECT * FROM t_empty;
|
|
--sorted_result
|
|
SELECT * FROM tp WHERE a BETWEEN 0 AND 10;
|
|
# Back to the former contents.
|
|
ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t_empty;
|
|
--sorted_result
|
|
SELECT * FROM t_empty;
|
|
--sorted_result
|
|
SELECT * FROM tp WHERE a BETWEEN 0 AND 10;
|
|
|
|
# Exchange with null table.
|
|
ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t_null;
|
|
--sorted_result
|
|
SELECT * FROM t_null;
|
|
--sorted_result
|
|
SELECT * FROM tp WHERE a BETWEEN 0 AND 10;
|
|
# Back to the former contents.
|
|
ALTER TABLE tp EXCHANGE PARTITION p0 WITH TABLE t_null;
|
|
--sorted_result
|
|
SELECT * FROM t_null;
|
|
--sorted_result
|
|
SELECT * FROM tp WHERE a BETWEEN 0 AND 10;
|
|
|
|
# exchange of values < 100 of tp to t and complete contents of t to p1 and back.
|
|
ALTER TABLE tp EXCHANGE PARTITION p1 WITH TABLE t_100;
|
|
--sorted_result
|
|
SELECT * FROM t_100;
|
|
--sorted_result
|
|
SELECT * FROM tp WHERE a BETWEEN 10 AND 100;
|
|
# Back to the former contents.
|
|
ALTER TABLE tp EXCHANGE PARTITION p1 WITH TABLE t_100;
|
|
--sorted_result
|
|
SELECT * FROM t_100;
|
|
--sorted_result
|
|
SELECT * FROM tp WHERE a BETWEEN 10 AND 100;
|
|
|
|
# exchange of values < 1000 of tp to t and complete contents of t to p2 and back.
|
|
ALTER TABLE tp EXCHANGE PARTITION p2 WITH TABLE t_1000;
|
|
--sorted_result
|
|
SELECT * FROM t_1000;
|
|
--sorted_result
|
|
SELECT * FROM tp WHERE a BETWEEN 100 AND 1000;
|
|
# Back to the former contents.
|
|
ALTER TABLE tp EXCHANGE PARTITION p2 WITH TABLE t_1000;
|
|
--sorted_result
|
|
SELECT * FROM t_1000;
|
|
--sorted_result
|
|
SELECT * FROM tp WHERE a BETWEEN 100 AND 1000;
|
|
|
|
# 2) Valid exchange of subpartitions.
|
|
# exchange of values < 10 of tsp to t and complete contents of t to p0 and back.
|
|
ALTER TABLE tsp EXCHANGE PARTITION sp00 WITH TABLE tsp_00;
|
|
ALTER TABLE tsp EXCHANGE PARTITION sp01 WITH TABLE tsp_01;
|
|
ALTER TABLE tsp EXCHANGE PARTITION sp02 WITH TABLE tsp_02;
|
|
ALTER TABLE tsp EXCHANGE PARTITION sp03 WITH TABLE tsp_03;
|
|
ALTER TABLE tsp EXCHANGE PARTITION sp04 WITH TABLE tsp_04;
|
|
--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;
|
|
--sorted_result
|
|
SELECT * FROM tsp WHERE a BETWEEN 0 AND 10;
|
|
# Back to the former contents.
|
|
ALTER TABLE tsp EXCHANGE PARTITION sp00 WITH TABLE tsp_00;
|
|
ALTER TABLE tsp EXCHANGE PARTITION sp01 WITH TABLE tsp_01;
|
|
ALTER TABLE tsp EXCHANGE PARTITION sp02 WITH TABLE tsp_02;
|
|
ALTER TABLE tsp EXCHANGE PARTITION sp03 WITH TABLE tsp_03;
|
|
ALTER TABLE tsp EXCHANGE PARTITION sp04 WITH TABLE tsp_04;
|
|
--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;
|
|
--sorted_result
|
|
SELECT * FROM tsp WHERE a BETWEEN 0 AND 10;
|
|
|
|
# Exchange with null table.
|
|
ALTER TABLE tsp EXCHANGE PARTITION sp01 WITH TABLE t_null;
|
|
--sorted_result
|
|
SELECT * FROM t_null;
|
|
--sorted_result
|
|
SELECT * FROM tsp WHERE a BETWEEN 0 AND 10;
|
|
# Back to the former contents.
|
|
ALTER TABLE tsp EXCHANGE PARTITION sp01 WITH TABLE t_null;
|
|
--sorted_result
|
|
SELECT * FROM t_null;
|
|
--sorted_result
|
|
SELECT * FROM tsp WHERE a BETWEEN 0 AND 10;
|
|
|
|
--source suite/parts/inc/part_exch_drop_tabs.inc
|
|
|