1 ################################################################################
2 # inc/partition_alter2_2.inc #
5 # Tests where the columns used within the partitioning function are altered. #
6 # This routine is only useful for the partition_<feature>_<engine> tests. .#
7 # Part 2: decreasing size of column
9 #------------------------------------------------------------------------------#
10 # Original Author: mleich #
11 # Original Date: 2006-03-05 #
12 # Change Author: MattiasJ #
13 # Change Date: 2008-09-08 #
14 # Change: Splitted the test in two different parts (increasing/decreasing col) #
15 ################################################################################
20 --echo #========================================================================
21 --echo # 2 Decrease the
size of the column used in the partitioning
22 --echo #
function and/or PRIMARY
KEY and/or UNIQUE INDEX
23 --echo #========================================================================
24 --echo #------------------------------------------------------------------------
25 --echo # 2.1 ALTER column f_int2 not used in partitioning
function
26 --echo #------------------------------------------------------------------------
27 # Rule: Only f_int1 is used within the partitioning function
28 # ---> inc/partition_alter_11.inc
29 let $alter= ALTER
TABLE t1 MODIFY f_int2 MEDIUMINT;
30 --echo # 2.1.1 no PRIMARY
KEY or UNIQUE INDEX exists
32 --source suite/parts/inc/partition_alter_11.inc
36 # The value of the direct following test is maybe covered by the test with
37 # the PRIMARY KEY containing two columns.
38 if ($more_pk_ui_tests)
40 --echo # 2.1.2 PRIMARY
KEY exists
41 let $unique= , PRIMARY
KEY (f_int1);
42 --source suite/parts/inc/partition_alter_11.inc
44 let $unique= , PRIMARY
KEY (f_int1,f_int2);
45 --source suite/parts/inc/partition_alter_11.inc
46 let $unique= , PRIMARY
KEY (f_int2,f_int1);
47 --source suite/parts/inc/partition_alter_11.inc
50 --echo # 2.1.3 UNIQUE INDEX exists
51 # The value of the direct following test is maybe covered by the test with
52 # the UNIQUE INDEX containing two columns.
53 if ($more_pk_ui_tests)
55 let $unique= , UNIQUE INDEX uidx1 (f_int1);
56 --source suite/parts/inc/partition_alter_11.inc
58 let $unique= , UNIQUE INDEX uidx1 (f_int1,f_int2);
59 --source suite/parts/inc/partition_alter_11.inc
60 let $unique= , UNIQUE INDEX uidx1 (f_int2,f_int1);
61 --source suite/parts/inc/partition_alter_11.inc
63 if ($more_pk_ui_tests)
65 # The value of the tests 2.2 is maybe covered by the tests 2.3
66 --echo #------------------------------------------------------------------------
67 --echo # 2.2 ALTER column f_int1 used in partitioning
function
68 --echo #------------------------------------------------------------------------
69 # Rule: Only f_int1 is used within the partitioning function
70 # ---> inc/partition_alter_11.inc
71 let $alter= ALTER
TABLE t1 MODIFY f_int1 MEDIUMINT;
72 --echo # 2.2.1 no PRIMARY
KEY or UNIQUE INDEX exists
74 --source suite/parts/inc/partition_alter_11.inc
75 --source suite/parts/inc/partition_alter_13.inc
79 --echo # 2.2.2 PRIMARY
KEY exists
80 let $unique= , PRIMARY
KEY (f_int1);
81 --source suite/parts/inc/partition_alter_11.inc
82 let $unique= , PRIMARY
KEY (f_int1,f_int2);
83 --source suite/parts/inc/partition_alter_11.inc
84 --source suite/parts/inc/partition_alter_13.inc
85 let $unique= , PRIMARY
KEY (f_int2,f_int1);
86 --source suite/parts/inc/partition_alter_11.inc
87 --source suite/parts/inc/partition_alter_13.inc
90 --echo # 2.2.3 UNIQUE INDEX exists
91 let $unique= , UNIQUE INDEX uidx (f_int1);
92 --source suite/parts/inc/partition_alter_11.inc
93 let $unique= , UNIQUE INDEX uidx (f_int1,f_int2);
94 --source suite/parts/inc/partition_alter_11.inc
95 --source suite/parts/inc/partition_alter_13.inc
96 let $unique= , UNIQUE INDEX uidx (f_int2,f_int1);
97 --source suite/parts/inc/partition_alter_11.inc
98 --source suite/parts/inc/partition_alter_13.inc
104 --echo #------------------------------------------------------------------------
105 --echo # 2.3 ALTER column f_int1 and f_int2 used in partitioning
function
106 --echo #------------------------------------------------------------------------
107 # Rule: f_int1 and f_int2 is used within the partitioning function
108 # ---> inc/partition_alter_13.inc
109 let $alter= ALTER
TABLE t1 MODIFY f_int1 MEDIUMINT, MODIFY f_int2 MEDIUMINT;
110 --echo # 2.3.1 no PRIMARY
KEY or UNIQUE INDEX exists
112 #--source suite/parts/inc/partition_alter_11.inc
113 --source suite/parts/inc/partition_alter_13.inc
117 --echo # 2.3.2 PRIMARY
KEY exists
118 # The value of the direct following test is maybe covered by the test with
119 # the PRIMARY KEY containing two columns.
120 if ($more_pk_ui_tests)
122 let $unique= , PRIMARY
KEY (f_int1);
123 --source suite/parts/inc/partition_alter_11.inc
125 let $unique= , PRIMARY
KEY (f_int1,f_int2);
126 #--source suite/parts/inc/partition_alter_11.inc
127 --source suite/parts/inc/partition_alter_13.inc
128 let $unique= , PRIMARY
KEY (f_int2,f_int1);
129 #--source suite/parts/inc/partition_alter_11.inc
130 --source suite/parts/inc/partition_alter_13.inc
133 --echo # 2.3.3 UNIQUE INDEX exists
134 # The value of the direct following test is maybe covered by the test with
135 # the UNIQUE INDEX containing two columns.
136 if ($more_pk_ui_tests)
138 let $unique= , UNIQUE INDEX uidx (f_int1);
139 --source suite/parts/inc/partition_alter_11.inc
141 let $unique= , UNIQUE INDEX uidx (f_int1,f_int2);
142 #--source suite/parts/inc/partition_alter_11.inc
143 --source suite/parts/inc/partition_alter_13.inc
144 let $unique= , UNIQUE INDEX uidx (f_int2,f_int1);
145 #--source suite/parts/inc/partition_alter_11.inc
146 --source suite/parts/inc/partition_alter_13.inc
153 --echo #========================================================================
154 --echo # 3 ALTER the
type of the column used in the partitioning
155 --echo #
function and/or PRIMARY
KEY and/or UNIQUE INDEX
156 --echo # INTEGER --> FLOAT
157 --echo # INTEGER --> DECIMAL
158 --echo # INTEGER --> VARCHAR
159 --echo # mleich: I assume that at least the first two variants are of
160 --echo # some interest. But I am unsure
if the server allows such
161 --echo # conversions. I also think that such operations have a
162 --echo # conversions very small likelihood.
163 --echo # To be implemented.
164 --echo #========================================================================