~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to mysql-test/suite/stress/include/ddl8.inc

  • Committer: brian
  • Date: 2008-06-25 05:29:13 UTC
  • Revision ID: brian@localhost.localdomain-20080625052913-6upwo0jsrl4lnapl
clean slate

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
######## include/ddl8.inc ######
 
2
#
 
3
# Stress the storage engine with rapid CREATE/DROP TABLE/INDEX
 
4
# and following SELECT/INSERT/SHOW etc.
 
5
# Subtest 8 variants (8A - 8D)
 
6
#
 
7
# The variables
 
8
#     $loop_size -- number of rounds till we look at the clock again
 
9
#     $runtime   -- rough intended runtime per subtest variant
 
10
#     $engine_type -- storage engine to be used in CREATE TABLE
 
11
# must be set within the routine sourcing this script.
 
12
#
 
13
# Other stuff which must already exist:
 
14
# - connection con2
 
15
# - stmt_start and stmt_break prepared by the default connection
 
16
#
 
17
# Please look for more details within include/ddl1.inc.
 
18
#
 
19
# Creation of this test:
 
20
# 2007-07-04 mleich
 
21
#
 
22
 
 
23
 
 
24
#----------------------------------------------------------------------
 
25
# Settings for Subtest 8 variants
 
26
# Scenario: CREATE INDEX variant1/SHOW/DROP INDEX/
 
27
#           CREATE INDEX variant2/SHOW/DROP INDEX
 
28
let $create_index1=  CREATE INDEX IDX ON t1 (f2);
 
29
let $create_index2=  CREATE UNIQUE INDEX IDX ON t1 (f2);
 
30
let $show_table=     SHOW CREATE TABLE t1;
 
31
let $drop_index=     DROP INDEX IDX ON t1;
 
32
eval CREATE TABLE t1 (f1 BIGINT, f2 BIGINT, UNIQUE(f1)) ENGINE=$engine_type;
 
33
INSERT INTO t1 VALUES(1,1);
 
34
eval $create_index1;
 
35
let $cr_value1= INITIALIZED;
 
36
let $cr_value1= query_get_value($show_table, Create Table, 1);
 
37
eval $drop_index;
 
38
eval $create_index2;
 
39
let $cr_value2= INITIALIZED;
 
40
let $cr_value2= query_get_value($show_table, Create Table, 1);
 
41
eval $drop_index;
 
42
if (`SELECT '$cr_value1' = '$cr_value2'`)
 
43
{
 
44
   --echo # Error during generation of prerequisites.
 
45
   --echo # cr_value1 equals cr_value2
 
46
   --echo # cr_value1: $cr_value1
 
47
   --echo # cr_value2: $cr_value2
 
48
   --echo # abort
 
49
   exit;
 
50
}
 
51
#----------------------------------------------------------------------
 
52
 
 
53
#
 
54
--echo # Subtest 8A (one connection, no PREPARE/EXECUTE)
 
55
--echo #    connection  action
 
56
--echo #    default:    $create_index1
 
57
--echo #    default:    $show_table
 
58
--echo #    default:    $drop_index
 
59
--echo #    default:    $create_index2
 
60
--echo #    default:    $show_table
 
61
--echo #    default:    $drop_index
 
62
--disable_query_log
 
63
--disable_result_log
 
64
connection default;
 
65
let $run= 1;
 
66
# Determine the current time.
 
67
EXECUTE stmt_start;
 
68
# Run execution loops till the planned runtime is reached
 
69
while ($run)
 
70
{
 
71
   let $loop_run= $loop_size;
 
72
   while ($loop_run)
 
73
   {
 
74
      eval $create_index1;
 
75
      let $value= INITIALIZED;
 
76
      let $value= query_get_value($show_table, Create Table, 1);
 
77
      if (`SELECT '$value' <> '$cr_value1'`)
 
78
      {
 
79
         --echo # Error: Unexpected SHOW CREATE TABLE output
 
80
         --echo # Got:      $value
 
81
         --echo # Expected: $cr_value1
 
82
         --echo # abort
 
83
         exit;
 
84
      }
 
85
      eval $drop_index;
 
86
      eval $create_index2;
 
87
      let $value= INITIALIZED;
 
88
      let $value= query_get_value($show_table, Create Table, 1);
 
89
      if (`SELECT '$value' <> '$cr_value2'`)
 
90
      {
 
91
         --echo # Error: Unexpected SHOW CREATE TABLE output
 
92
         --echo # Got:      $value
 
93
         --echo # Expected: $cr_value2
 
94
         --echo # abort
 
95
         exit;
 
96
      }
 
97
      eval $drop_index;
 
98
      dec $loop_run;
 
99
   }
 
100
   if (`EXECUTE stmt_break`)
 
101
   {
 
102
      let $run= 0;
 
103
   }
 
104
}
 
105
--enable_result_log
 
106
--enable_query_log
 
107
#
 
108
--echo # Subtest 8B (one connection, use PREPARE/EXECUTE)
 
109
--echo #    connection  action
 
110
--echo #    default:    $create_index1
 
111
--echo #    default:    $show_table
 
112
--echo #    default:    $drop_index
 
113
--echo #    default:    $create_index2
 
114
--echo #    default:    $show_table
 
115
--echo #    default:    $drop_index
 
116
--disable_query_log
 
117
--disable_result_log
 
118
connection default;
 
119
eval PREPARE create_index1 FROM "$create_index1";
 
120
eval PREPARE create_index2 FROM "$create_index2";
 
121
EXECUTE create_index1;
 
122
eval PREPARE show_table FROM "$show_table";
 
123
eval PREPARE drop_index FROM "$drop_index";
 
124
EXECUTE drop_index;
 
125
let $run= 1;
 
126
# Determine the current time.
 
127
EXECUTE stmt_start;
 
128
# Run execution loops till the planned runtime is reached
 
129
while ($run)
 
130
{
 
131
   let $loop_run= $loop_size;
 
132
   while ($loop_run)
 
133
   {
 
134
      EXECUTE create_index1;
 
135
      let $value= INITIALIZED;
 
136
      let $value= query_get_value(EXECUTE show_table, Create Table, 1);
 
137
      if (`SELECT '$value' <> '$cr_value1'`)
 
138
      {
 
139
         --echo # Error: Unexpected SHOW CREATE TABLE output
 
140
         --echo # Got:      $value
 
141
         --echo # Expected: $cr_value1
 
142
         --echo # abort
 
143
         exit;
 
144
      }
 
145
      EXECUTE drop_index;
 
146
      EXECUTE create_index2;
 
147
      let $value= INITIALIZED;
 
148
      let $value= query_get_value(EXECUTE show_table, Create Table, 1);
 
149
      if (`SELECT '$value' <> '$cr_value2'`)
 
150
      {
 
151
         --echo # Error: Unexpected SHOW CREATE TABLE output
 
152
         --echo # Got:      $value
 
153
         --echo # Expected: $cr_value2
 
154
         --echo # abort
 
155
         exit;
 
156
      }
 
157
      EXECUTE drop_index;
 
158
      dec $loop_run;
 
159
   }
 
160
   if (`EXECUTE stmt_break`)
 
161
   {
 
162
      let $run= 0;
 
163
   }
 
164
}
 
165
DEALLOCATE PREPARE create_index1;
 
166
DEALLOCATE PREPARE create_index2;
 
167
DEALLOCATE PREPARE show_table;
 
168
DEALLOCATE PREPARE drop_index;
 
169
--enable_result_log
 
170
--enable_query_log
 
171
#
 
172
--echo # Subtest 8C (two connections, no PREPARE/EXECUTE)
 
173
--echo #    connection  action
 
174
--echo #    default:    $create_index1
 
175
--echo #    con2:       $show_table
 
176
--echo #    default:    $drop_index
 
177
--echo #    default:    $create_index2
 
178
--echo #    con2:       $show_table
 
179
--echo #    default:    $drop_index
 
180
--disable_query_log
 
181
--disable_result_log
 
182
connection default;
 
183
let $run= 1;
 
184
# Determine the current time.
 
185
EXECUTE stmt_start;
 
186
# Run execution loops till the planned runtime is reached
 
187
while ($run)
 
188
{
 
189
   let $loop_run= $loop_size;
 
190
   while ($loop_run)
 
191
   {
 
192
      eval $create_index1;
 
193
      connection con2;
 
194
      let $value= INITIALIZED;
 
195
      let $value= query_get_value($show_table, Create Table, 1);
 
196
      if (`SELECT '$value' <> '$cr_value1'`)
 
197
      {
 
198
         --echo # Error: Unexpected SHOW CREATE TABLE output
 
199
         --echo # Got:      $value
 
200
         --echo # Expected: $cr_value1
 
201
         --echo # abort
 
202
         exit;
 
203
      }
 
204
      connection default;
 
205
      eval $drop_index;
 
206
      eval $create_index2;
 
207
      connection con2;
 
208
      let $value= INITIALIZED;
 
209
      let $value= query_get_value($show_table, Create Table, 1);
 
210
      if (`SELECT '$value' <> '$cr_value2'`)
 
211
      {
 
212
         --echo # Error: Unexpected SHOW CREATE TABLE output
 
213
         --echo # Got:      $value
 
214
         --echo # Expected: $cr_value2
 
215
         --echo # abort
 
216
         exit;
 
217
      }
 
218
      connection default;
 
219
      eval $drop_index;
 
220
      dec $loop_run;
 
221
   }
 
222
   if (`EXECUTE stmt_break`)
 
223
   {
 
224
      let $run= 0;
 
225
   }
 
226
}
 
227
--enable_result_log
 
228
--enable_query_log
 
229
#
 
230
--echo # Subtest 8D (two connections, use PREPARE/EXECUTE)
 
231
--echo #    connection  action
 
232
--echo #    default:    $create_index1
 
233
--echo #    con2:       $show_table
 
234
--echo #    default:    $drop_index
 
235
--echo #    default:    $create_index2
 
236
--echo #    con2:       $show_table
 
237
--echo #    default:    $drop_index
 
238
--disable_query_log
 
239
--disable_result_log
 
240
connection default;
 
241
eval PREPARE create_index1 FROM "$create_index1";
 
242
eval PREPARE create_index2 FROM "$create_index2";
 
243
eval PREPARE drop_index FROM "$drop_index";
 
244
EXECUTE create_index1;
 
245
connection con2;
 
246
eval PREPARE show_table FROM "$show_table";
 
247
connection default;
 
248
EXECUTE drop_index;
 
249
let $run= 1;
 
250
# Determine the current time.
 
251
EXECUTE stmt_start;
 
252
# Run execution loops till the planned runtime is reached
 
253
while ($run)
 
254
{
 
255
   let $loop_run= $loop_size;
 
256
   while ($loop_run)
 
257
   {
 
258
      EXECUTE create_index1;
 
259
      connection con2;
 
260
      let $value= INITIALIZED;
 
261
      let $value= query_get_value(EXECUTE show_table, Create Table, 1);
 
262
      if (`SELECT '$value' <> '$cr_value1'`)
 
263
      {
 
264
         --echo # Error: Unexpected SHOW CREATE TABLE output
 
265
         --echo # Got:      $value
 
266
         --echo # Expected: $cr_value1
 
267
         --echo # abort
 
268
         exit;
 
269
      }
 
270
      connection default;
 
271
      EXECUTE drop_index;
 
272
      EXECUTE create_index2;
 
273
      connection con2;
 
274
      let $value= INITIALIZED;
 
275
      let $value= query_get_value(EXECUTE show_table, Create Table, 1);
 
276
      if (`SELECT '$value' <> '$cr_value2'`)
 
277
      {
 
278
         --echo # Error: Unexpected SHOW CREATE TABLE output
 
279
         --echo # Got:      $value
 
280
         --echo # Expected: $cr_value2
 
281
         --echo # abort
 
282
         exit;
 
283
      }
 
284
      connection default;
 
285
      EXECUTE drop_index;
 
286
      dec $loop_run;
 
287
   }
 
288
   if (`EXECUTE stmt_break`)
 
289
   {
 
290
      let $run= 0;
 
291
   }
 
292
}
 
293
DEALLOCATE PREPARE create_index1;
 
294
DEALLOCATE PREPARE create_index2;
 
295
DEALLOCATE PREPARE drop_index;
 
296
connection con2;
 
297
DEALLOCATE PREPARE show_table;
 
298
connection default;
 
299
--enable_result_log
 
300
--enable_query_log
 
301
 
 
302
DROP TABLE t1;