~jlukas79/+junk/mysql-server

« back to all changes in this revision

Viewing changes to mysql-test/suite/parts/inc/partition_alter1_2.inc

manual merge 6.0-main --> 6.0-bka-review

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
################################################################################
 
2
# inc/partition_alter1_2.inc                                                     #
 
3
#                                                                              #
 
4
# Purpose:                                                                     #
 
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.    #
 
7
#                                                                              #
 
8
#------------------------------------------------------------------------------#
 
9
# Original Author: mleich                                                      #
 
10
# Original Date: 2006-03-05                                                    #
 
11
# Change Author:                                                               #
 
12
# Change Date:                                                                 #
 
13
# Change:                                                                      #
 
14
################################################################################
 
15
#
 
16
--echo
 
17
--echo #========================================================================
 
18
--echo #  2     DROP PRIMARY KEY or UNIQUE INDEX
 
19
--echo #========================================================================
 
20
#         Rule: The table must have a PRIMARY KEY or UNIQUE INDEX.
 
21
#               ---> $unique must not be empty
 
22
#               ---> The PRIMARY KEY or UNIQUE INDEX to be dropped must contain
 
23
#                    the columns used for partitioning.
 
24
--echo #------------------------------------------------------------------------
 
25
--echo #  2.1   Partitioning function contains one column(f_int1)
 
26
--echo #------------------------------------------------------------------------
 
27
#         Rule: Only f_int1 is used within the partitioning function
 
28
#         ---> inc/partition_alter_11.inc
 
29
# The value of the following test is maybe covered by 2.1.5.
 
30
if ($more_pk_ui_tests)
 
31
{
 
32
   if ($do_pk_tests)
 
33
   {
 
34
      --echo #  2.1.1 DROP PRIMARY KEY consisting of one column
 
35
      let $unique= , PRIMARY KEY(f_int1);
 
36
      let $alter= ALTER TABLE t1 DROP PRIMARY KEY;
 
37
      --source suite/parts/inc/partition_alter_11.inc
 
38
   }
 
39
   #
 
40
   --echo #  2.1.2 DROP UNIQUE INDEX consisting of one column
 
41
   let $unique= , UNIQUE INDEX uidx1 (f_int1);
 
42
   let $alter= ALTER TABLE t1 DROP INDEX uidx1;
 
43
   --source suite/parts/inc/partition_alter_11.inc
 
44
   #
 
45
   if ($do_pk_tests)
 
46
   {
 
47
      --echo #  2.1.3 DROP PRIMARY KEY consisting of two columns
 
48
      let $alter= ALTER TABLE t1 DROP PRIMARY KEY;
 
49
      let $unique= , PRIMARY KEY(f_int1,f_int2);
 
50
      --source suite/parts/inc/partition_alter_11.inc
 
51
      let $unique= , PRIMARY KEY(f_int2,f_int1);
 
52
      --source suite/parts/inc/partition_alter_11.inc
 
53
   }
 
54
   #
 
55
   --echo #  2.1.4 DROP UNIQUE INDEX consisting of two columns
 
56
   let $alter= ALTER TABLE t1 DROP INDEX uidx1;
 
57
   let $unique= , UNIQUE INDEX uidx1 (f_int1,f_int2);
 
58
   --source suite/parts/inc/partition_alter_11.inc
 
59
   let $unique= , UNIQUE INDEX uidx1 (f_int2,f_int1);
 
60
   --source suite/parts/inc/partition_alter_11.inc
 
61
   }
 
62
#
 
63
if ($do_pk_tests)
 
64
{
 
65
   --echo #  2.1.5 DROP PRIMARY KEY + UNIQUE INDEX consisting of two columns
 
66
   let $unique= , UNIQUE INDEX uidx1 (f_int1,f_int2), PRIMARY KEY(f_int2,f_int1);
 
67
   let $alter= ALTER TABLE t1 DROP PRIMARY KEY, DROP INDEX uidx1;
 
68
   --source suite/parts/inc/partition_alter_11.inc
 
69
   let $unique= , UNIQUE INDEX uidx1 (f_int2,f_int1), PRIMARY KEY(f_int1,f_int2);
 
70
   let $alter= ALTER TABLE t1 DROP PRIMARY KEY, DROP INDEX uidx1;
 
71
   --source suite/parts/inc/partition_alter_11.inc
 
72
}
 
73
let $unique= , UNIQUE INDEX uidx1 (f_int1,f_int2), UNIQUE INDEX uidx2 (f_int2,f_int1);
 
74
let $alter= ALTER TABLE t1 DROP INDEX uidx1, DROP INDEX uidx2;
 
75
--source suite/parts/inc/partition_alter_11.inc
 
76
#
 
77
--echo #------------------------------------------------------------------------
 
78
--echo #  2.2   Partitioning function contains two columns (f_int1,f_int2)
 
79
--echo #------------------------------------------------------------------------
 
80
#         Rule: f_int1 and f_int2 is used within the partitioning function
 
81
#         ---> inc/partition_alter_13.inc
 
82
if ($do_pk_tests)
 
83
{
 
84
   --echo #  2.2.1 DROP PRIMARY KEY consisting of two columns
 
85
   let $alter= ALTER TABLE t1 DROP PRIMARY KEY;
 
86
   let $unique= , PRIMARY KEY(f_int1,f_int2);
 
87
   --source suite/parts/inc/partition_alter_13.inc
 
88
   let $unique= , PRIMARY KEY(f_int2,f_int1);
 
89
   --source suite/parts/inc/partition_alter_13.inc
 
90
}
 
91
#
 
92
--echo #  2.2.2 DROP UNIQUE INDEX consisting of two columns
 
93
let $alter= ALTER TABLE t1 DROP INDEX uidx1;
 
94
let $unique= , UNIQUE INDEX uidx1 (f_int1,f_int2);
 
95
--source suite/parts/inc/partition_alter_13.inc
 
96
let $unique= , UNIQUE INDEX uidx1 (f_int2,f_int1);
 
97
--source suite/parts/inc/partition_alter_13.inc
 
98
#
 
99
if ($do_pk_tests)
 
100
{
 
101
   --echo #  2.2.3 DROP PRIMARY KEY + UNIQUE INDEX consisting of two columns
 
102
   let $unique= , UNIQUE INDEX uidx1 (f_int1,f_int2), PRIMARY KEY(f_int2,f_int1);
 
103
   let $alter= ALTER TABLE t1 DROP PRIMARY KEY, DROP INDEX uidx1;
 
104
   --source suite/parts/inc/partition_alter_13.inc
 
105
   let $unique= , UNIQUE INDEX uidx1 (f_int2,f_int1), PRIMARY KEY(f_int1,f_int2);
 
106
   let $alter= ALTER TABLE t1 DROP PRIMARY KEY, DROP INDEX uidx1;
 
107
   --source suite/parts/inc/partition_alter_13.inc
 
108
}
 
109
let $unique= , UNIQUE INDEX uidx1 (f_int1,f_int2), UNIQUE INDEX uidx2 (f_int2,f_int1);
 
110
let $alter= ALTER TABLE t1 DROP INDEX uidx1, DROP INDEX uidx2;
 
111
--source suite/parts/inc/partition_alter_13.inc
 
112
 
 
113
if (0)
 
114
{
 
115
--echo
 
116
--echo #========================================================================
 
117
--echo #  3.    ALTER TABLE "ALTER" PRIMARY KEY
 
118
--echo #        mleich: I think that an ALTER TABLE statement where a PRIMARY
 
119
--echo #            KEY is dropped and recreated (with different layout) might
 
120
--echo #            be of interest, if the tree containing the table data has
 
121
--echo #            to be reorganized during this operation.
 
122
--echo #        To be implemented
 
123
--echo #========================================================================
 
124
--echo
 
125
}
 
126