1
################################################################################
2
# inc/partition_alter1_1.inc #
5
# ADD/DROP PRIMARY KEYs and/or UNIQUE INDEXes tests on partitioned tables #
6
# This routine is only useful for the partition_<feature>_<engine> tests. #
8
#------------------------------------------------------------------------------#
9
# Original Author: mleich #
10
# Original Date: 2006-03-05 #
14
################################################################################
17
--echo #========================================================================
18
--echo # 1. ALTER TABLE ADD PRIMARY KEY and/or UNIQUE INDEX
19
--echo #========================================================================
20
# Rule: The table does not have a PRIMARY KEY or UNIQUE INDEX.
21
# ---> $unique must be empty
22
# ---> The PRIMARY KEY or UNIQUE INDEX to be created must contain
23
# the columns used for partitioning.
24
--echo #------------------------------------------------------------------------
25
--echo # 1.1 ADD PRIMARY KEY or UNIQUE INDEX to table with one column (f_int1)
26
--echo # within the partitioning function
27
--echo #------------------------------------------------------------------------
28
# Rule: Only f_int1 is used within the partitioning function
29
# ---> inc/partition_alter_11.inc
32
# The value of the following test is maybe covered by 1.1.3.
33
if ($more_pk_ui_tests)
35
--echo # 1.1.1 PRIMARY KEY consisting of one column
36
let $alter= ALTER TABLE t1 ADD PRIMARY KEY(f_int1);
37
--source suite/parts/inc/partition_alter_11.inc
39
# This must fail, because PRIMARY KEY does not contain f_int1
40
let $alter= ALTER TABLE t1 ADD PRIMARY KEY(f_int2);
41
--source suite/parts/inc/partition_alter_11.inc
43
# The value of the following test is maybe covered by 1.1.4.
44
if ($more_pk_ui_tests)
46
--echo # 1.1.2 UNIQUE INDEX consisting of one column
47
let $alter= ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int1);
48
--source suite/parts/inc/partition_alter_11.inc
50
# This must fail, because UNIQUE INDEX does not contain f_int1
51
let $alter= ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int2);
52
--source suite/parts/inc/partition_alter_11.inc
55
--echo # 1.1.3 PRIMARY KEY consisting of two columns
56
let $alter= ALTER TABLE t1 ADD PRIMARY KEY(f_int1,f_int2);
57
--source suite/parts/inc/partition_alter_11.inc
58
let $alter= ALTER TABLE t1 ADD PRIMARY KEY(f_int2,f_int1);
59
--source suite/parts/inc/partition_alter_11.inc
61
--echo # 1.1.4 UNIQUE INDEX consisting of two columns
62
let $alter= ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int1,f_int2);
63
--source suite/parts/inc/partition_alter_11.inc
64
let $alter= ALTER TABLE t1 ADD UNIQUE INDEX uidx1 (f_int2,f_int1);
65
--source suite/parts/inc/partition_alter_11.inc