~pomyks/maria/10.0-per-query-variables

« back to all changes in this revision

Viewing changes to mysql-test/suite/percona/percona_statement_set.result

  • Committer: Patryk Pomykalski
  • Date: 2013-11-03 17:41:20 UTC
  • Revision ID: pomyks@gmail.com-20131103174120-wn8ek6qhd3muadil
Port of per query variables feature from Percona Server.
Allows changing variables for duration of the query.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
'# SET STATEMENT ..... FOR ....  TEST'
 
2
DROP TABLE IF EXISTS t1;
 
3
DROP FUNCTION IF EXISTS myProc;
 
4
DROP PROCEDURE IF EXISTS p1;
 
5
DROP PROCEDURE IF EXISTS p2;
 
6
DROP PROCEDURE IF EXISTS p3;
 
7
DROP PROCEDURE IF EXISTS p4;
 
8
DROP PROCEDURE IF EXISTS p5;
 
9
DROP TABLE IF EXISTS STATEMENT;
 
10
'# Setup database'
 
11
CREATE TABLE t1 (v1 INT, v2 INT);
 
12
INSERT INTO t1 VALUES (1,2);
 
13
INSERT INTO t1 VALUES (3,4);
 
14
''
 
15
'#------------------ STATEMENT Test 1 -----------------------#'
 
16
'# Initialize variables to known setting'
 
17
SET SESSION sort_buffer_size=100000;
 
18
''
 
19
'# Pre-STATEMENT variable value'
 
20
SHOW SESSION VARIABLES LIKE 'sort_buffer_size';
 
21
Variable_name   Value
 
22
sort_buffer_size        100000
 
23
SET STATEMENT sort_buffer_size=150000 FOR SELECT * FROM t1;
 
24
v1      v2
 
25
1       2
 
26
3       4
 
27
''
 
28
'# Post-STATEMENT variable value'
 
29
SHOW SESSION VARIABLES LIKE 'sort_buffer_size';
 
30
Variable_name   Value
 
31
sort_buffer_size        100000
 
32
''
 
33
'#------------------ STATEMENT Test 2 -----------------------#'
 
34
'# Initialize variables to known setting'
 
35
SET SESSION binlog_format=mixed;
 
36
SET SESSION sort_buffer_size=100000;
 
37
'# Pre-STATEMENT variable value'
 
38
SHOW SESSION VARIABLES LIKE 'sort_buffer_size';
 
39
Variable_name   Value
 
40
sort_buffer_size        100000
 
41
SHOW SESSION VARIABLES LIKE 'binlog_format';
 
42
Variable_name   Value
 
43
binlog_format   MIXED
 
44
SET STATEMENT sort_buffer_size=150000, binlog_format=row
 
45
FOR SELECT * FROM t1;
 
46
v1      v2
 
47
1       2
 
48
3       4
 
49
'# Post-STATEMENT variable value'
 
50
SHOW SESSION VARIABLES LIKE 'sort_buffer_size';
 
51
Variable_name   Value
 
52
sort_buffer_size        100000
 
53
SHOW SESSION VARIABLES LIKE 'binlog_format';
 
54
Variable_name   Value
 
55
binlog_format   MIXED
 
56
''
 
57
'#------------------ STATEMENT Test 3 -----------------------#'
 
58
'# set initial variable value, make prepared statement
 
59
SET SESSION binlog_format=row;
 
60
PREPARE stmt1 FROM 'SET STATEMENT binlog_format=row FOR SELECT * FROM t1';
 
61
''
 
62
'# Change variable setting'
 
63
SET SESSION binlog_format=mixed;
 
64
''
 
65
'# Pre-STATEMENT variable value'
 
66
''
 
67
SHOW SESSION VARIABLES LIKE 'binlog_format';
 
68
Variable_name   Value
 
69
binlog_format   MIXED
 
70
''
 
71
EXECUTE stmt1;
 
72
v1      v2
 
73
1       2
 
74
3       4
 
75
''
 
76
'# Post-STATEMENT variable value'
 
77
SHOW SESSION VARIABLES LIKE 'binlog_format';
 
78
Variable_name   Value
 
79
binlog_format   MIXED
 
80
''
 
81
DEALLOCATE PREPARE stmt1;
 
82
'#------------------ STATEMENT Test 4 -----------------------#'
 
83
'# set initial variable value, make prepared statement
 
84
SET SESSION myisam_sort_buffer_size=500000, myisam_repair_threads=1;
 
85
''
 
86
'# Pre-STATEMENT variable value'
 
87
SHOW SESSION VARIABLES LIKE 'myisam_sort_buffer_size';
 
88
Variable_name   Value
 
89
myisam_sort_buffer_size 500000
 
90
SHOW SESSION VARIABLES LIKE 'myisam_repair_threads';
 
91
Variable_name   Value
 
92
myisam_repair_threads   1
 
93
''
 
94
SET STATEMENT myisam_sort_buffer_size=800000,
 
95
myisam_repair_threads=2 FOR OPTIMIZE TABLE t1;
 
96
Table   Op      Msg_type        Msg_text
 
97
test.t1 optimize        status  OK
 
98
''
 
99
'# Post-STATEMENT variable value'
 
100
SHOW SESSION VARIABLES LIKE 'myisam_sort_buffer_size';
 
101
Variable_name   Value
 
102
myisam_sort_buffer_size 500000
 
103
SHOW SESSION VARIABLES LIKE 'myisam_repair_threads';
 
104
Variable_name   Value
 
105
myisam_repair_threads   1
 
106
''
 
107
'#------------------ STATEMENT Test 5 -----------------------#'
 
108
'# Initialize variables to known setting'
 
109
SET SESSION sort_buffer_size=100000;
 
110
''
 
111
'# Pre-STATEMENT variable value'
 
112
SHOW SESSION VARIABLES LIKE 'sort_buffer_size';
 
113
Variable_name   Value
 
114
sort_buffer_size        100000
 
115
''
 
116
SET STATEMENT sort_buffer_size=150000 FOR SELECT * FROM t2;
 
117
ERROR 42S02: Table 'test.t2' doesn't exist
 
118
''
 
119
'# Post-STATEMENT variable value'
 
120
SHOW SESSION VARIABLES LIKE 'sort_buffer_size';
 
121
Variable_name   Value
 
122
sort_buffer_size        100000
 
123
''
 
124
'#------------------ STATEMENT Test 6 -----------------------#'
 
125
'# Initialize variables to known setting'
 
126
SET SESSION  keep_files_on_create=ON;
 
127
''
 
128
'# Pre-STATEMENT variable value'
 
129
SHOW SESSION VARIABLES LIKE 'keep_files_on_create';
 
130
Variable_name   Value
 
131
keep_files_on_create    ON
 
132
''
 
133
SET STATEMENT keep_files_on_create=OFF FOR SELECT * FROM t1;
 
134
v1      v2
 
135
1       2
 
136
3       4
 
137
''
 
138
'# Post-STATEMENT variable value'
 
139
SHOW SESSION VARIABLES LIKE 'keep_files_on_create';
 
140
Variable_name   Value
 
141
keep_files_on_create    ON
 
142
''
 
143
'#------------------ STATEMENT Test 7 -----------------------#'
 
144
'# Initialize variables to known setting'
 
145
SET SESSION  max_join_size=2222220000000;
 
146
''
 
147
'# Pre-STATEMENT variable value'
 
148
SHOW SESSION VARIABLES LIKE 'max_join_size';
 
149
Variable_name   Value
 
150
max_join_size   2222220000000
 
151
''
 
152
SET STATEMENT max_join_size=1000000000000 FOR SELECT * FROM t1;
 
153
v1      v2
 
154
1       2
 
155
3       4
 
156
''
 
157
'# Post-STATEMENT variable value'
 
158
SHOW SESSION VARIABLES LIKE 'max_join_size';
 
159
Variable_name   Value
 
160
max_join_size   2222220000000
 
161
''
 
162
'#------------------Test 8-----------------------#'
 
163
'# Initialize test variables'
 
164
SET SESSION myisam_sort_buffer_size=500000,
 
165
myisam_repair_threads=1,
 
166
sort_buffer_size = 200000,
 
167
max_join_size=2222220000000,
 
168
keep_files_on_create=ON;
 
169
''
 
170
'#  LONG    '
 
171
SHOW SESSION VARIABLES LIKE 'sort_buffer_size';
 
172
Variable_name   Value
 
173
sort_buffer_size        200000
 
174
SET STATEMENT sort_buffer_size = 100000
 
175
FOR SHOW SESSION VARIABLES LIKE 'sort_buffer_size';
 
176
Variable_name   Value
 
177
sort_buffer_size        100000
 
178
SHOW SESSION VARIABLES LIKE 'sort_buffer_size';
 
179
Variable_name   Value
 
180
sort_buffer_size        200000
 
181
''
 
182
'# MY_BOOL     '
 
183
SHOW SESSION VARIABLES LIKE 'keep_files_on_create';
 
184
Variable_name   Value
 
185
keep_files_on_create    ON
 
186
SET STATEMENT keep_files_on_create=OFF
 
187
FOR SHOW SESSION VARIABLES LIKE 'keep_files_on_create';
 
188
Variable_name   Value
 
189
keep_files_on_create    OFF
 
190
SHOW SESSION VARIABLES LIKE 'keep_files_on_create';
 
191
Variable_name   Value
 
192
keep_files_on_create    ON
 
193
''
 
194
'# INT/LONG    '
 
195
SHOW SESSION VARIABLES LIKE 'myisam_repair_threads';
 
196
Variable_name   Value
 
197
myisam_repair_threads   1
 
198
SET STATEMENT myisam_repair_threads=2
 
199
FOR SHOW SESSION VARIABLES LIKE 'myisam_repair_threads';
 
200
Variable_name   Value
 
201
myisam_repair_threads   2
 
202
SHOW SESSION VARIABLES LIKE 'myisam_repair_threads';
 
203
Variable_name   Value
 
204
myisam_repair_threads   1
 
205
''
 
206
'# ULONGLONG     '
 
207
SHOW SESSION VARIABLES LIKE 'max_join_size';
 
208
Variable_name   Value
 
209
max_join_size   2222220000000
 
210
SET STATEMENT max_join_size=2000000000000
 
211
FOR SHOW SESSION VARIABLES LIKE 'max_join_size';
 
212
Variable_name   Value
 
213
max_join_size   2000000000000
 
214
SHOW SESSION VARIABLES LIKE 'max_join_size';
 
215
Variable_name   Value
 
216
max_join_size   2222220000000
 
217
''
 
218
'#------------------Test 9-----------------------#'
 
219
'# set initial variable values
 
220
SET SESSION myisam_sort_buffer_size=500000,
 
221
myisam_repair_threads=1,
 
222
sort_buffer_size=100000,
 
223
binlog_format=mixed,
 
224
keep_files_on_create=ON,
 
225
max_join_size=2222220000000;
 
226
''
 
227
''
 
228
'# Pre-STATEMENT variable value
 
229
SELECT @@myisam_sort_buffer_size,
 
230
@@myisam_repair_threads,
 
231
@@sort_buffer_size,
 
232
@@binlog_format,
 
233
@@keep_files_on_create,
 
234
@@max_join_size;
 
235
@@myisam_sort_buffer_size       @@myisam_repair_threads @@sort_buffer_size      @@binlog_format @@keep_files_on_create  @@max_join_size
 
236
500000  1       100000  MIXED   1       2222220000000
 
237
''
 
238
''
 
239
CREATE FUNCTION myProc (cost DECIMAL(10,2))
 
240
RETURNS DECIMAL(10,2)
 
241
SQL SECURITY DEFINER
 
242
tax: BEGIN
 
243
DECLARE order_tax DECIMAL(10,2);
 
244
SET order_tax = cost * .05;
 
245
RETURN order_tax;
 
246
END|
 
247
''
 
248
'# During Execution values
 
249
SET STATEMENT myisam_sort_buffer_size=400000,
 
250
myisam_repair_threads=2,
 
251
sort_buffer_size=200000,
 
252
binlog_format=row,
 
253
keep_files_on_create=OFF,
 
254
max_join_size=4444440000000 FOR
 
255
SELECT myProc(123.45);
 
256
myProc(123.45)
 
257
6.17
 
258
''
 
259
'# Post-STATEMENT No 1 variable value Pre-STATEMENT for No 2'
 
260
SELECT @@myisam_sort_buffer_size,
 
261
@@myisam_repair_threads,
 
262
@@sort_buffer_size,
 
263
@@binlog_format,
 
264
@@keep_files_on_create,
 
265
@@max_join_size;
 
266
@@myisam_sort_buffer_size       @@myisam_repair_threads @@sort_buffer_size      @@binlog_format @@keep_files_on_create  @@max_join_size
 
267
500000  1       100000  MIXED   1       2222220000000
 
268
''
 
269
SET STATEMENT myisam_sort_buffer_size=400000,
 
270
myisam_repair_threads=2,
 
271
sort_buffer_size=200000,
 
272
binlog_format=row,
 
273
keep_files_on_create=OFF,
 
274
max_join_size=4444440000000 FOR
 
275
DROP FUNCTION myProc;
 
276
''
 
277
'# Post-STATEMENT No 2 variable value
 
278
SELECT @@myisam_sort_buffer_size,
 
279
@@myisam_repair_threads,
 
280
@@sort_buffer_size,
 
281
@@binlog_format,
 
282
@@keep_files_on_create,
 
283
@@max_join_size;
 
284
@@myisam_sort_buffer_size       @@myisam_repair_threads @@sort_buffer_size      @@binlog_format @@keep_files_on_create  @@max_join_size
 
285
500000  1       100000  MIXED   1       2222220000000
 
286
''
 
287
'#------------------Test 10-----------------------#'
 
288
'# set initial variable values
 
289
SET SESSION myisam_sort_buffer_size=500000,
 
290
myisam_repair_threads=1,
 
291
sort_buffer_size=100000,
 
292
binlog_format=mixed,
 
293
keep_files_on_create=ON,
 
294
max_join_size=2222220000000;
 
295
''
 
296
'# Pre-STATEMENT variable value
 
297
SELECT @@myisam_sort_buffer_size,
 
298
@@myisam_repair_threads,
 
299
@@sort_buffer_size,
 
300
@@binlog_format,
 
301
@@keep_files_on_create,
 
302
@@max_join_size;
 
303
@@myisam_sort_buffer_size       @@myisam_repair_threads @@sort_buffer_size      @@binlog_format @@keep_files_on_create  @@max_join_size
 
304
500000  1       100000  MIXED   1       2222220000000
 
305
''
 
306
''
 
307
SET STATEMENT myisam_sort_buffer_size=400000,
 
308
myisam_repair_threads=2,
 
309
sort_buffer_size=200000,
 
310
binlog_format=row,
 
311
keep_files_on_create=OFF,
 
312
max_join_size=4444440000000 FOR
 
313
PREPARE stmt2
 
314
FROM 'SELECT * FROM t1';
 
315
''
 
316
'Test No 1 Post Value & Test 2 Pre values'
 
317
SELECT @@myisam_sort_buffer_size,
 
318
@@myisam_repair_threads,
 
319
@@sort_buffer_size,
 
320
@@binlog_format,
 
321
@@keep_files_on_create,
 
322
@@max_join_size;
 
323
@@myisam_sort_buffer_size       @@myisam_repair_threads @@sort_buffer_size      @@binlog_format @@keep_files_on_create  @@max_join_size
 
324
500000  1       100000  MIXED   1       2222220000000
 
325
''
 
326
''
 
327
SET STATEMENT myisam_sort_buffer_size=400000,
 
328
myisam_repair_threads=2,
 
329
sort_buffer_size=200000,
 
330
binlog_format=row,
 
331
keep_files_on_create=OFF,
 
332
max_join_size=4444440000000 FOR
 
333
EXECUTE stmt2;
 
334
v1      v2
 
335
1       2
 
336
3       4
 
337
''
 
338
'# Post-STATEMENT No 2
 
339
SELECT @@myisam_sort_buffer_size,
 
340
@@myisam_repair_threads,
 
341
@@sort_buffer_size,
 
342
@@binlog_format,
 
343
@@keep_files_on_create,
 
344
@@max_join_size;
 
345
@@myisam_sort_buffer_size       @@myisam_repair_threads @@sort_buffer_size      @@binlog_format @@keep_files_on_create  @@max_join_size
 
346
500000  1       100000  MIXED   1       2222220000000
 
347
''
 
348
DEALLOCATE PREPARE stmt2;
 
349
''
 
350
'#------------------Test 11-----------------------#'
 
351
'# set initial variable values
 
352
SET SESSION myisam_sort_buffer_size=500000,
 
353
myisam_repair_threads=1,
 
354
sort_buffer_size=100000,
 
355
binlog_format=mixed,
 
356
keep_files_on_create=ON,
 
357
max_join_size=2222220000000;
 
358
''
 
359
''
 
360
'# Pre-STATEMENT variable value
 
361
SELECT @@myisam_sort_buffer_size,
 
362
@@myisam_repair_threads,
 
363
@@sort_buffer_size,
 
364
@@binlog_format,
 
365
@@keep_files_on_create,
 
366
@@max_join_size;
 
367
@@myisam_sort_buffer_size       @@myisam_repair_threads @@sort_buffer_size      @@binlog_format @@keep_files_on_create  @@max_join_size
 
368
500000  1       100000  MIXED   1       2222220000000
 
369
''
 
370
''
 
371
SET STATEMENT myisam_sort_buffer_size=400000,
 
372
myisam_repair_threads=2,
 
373
sort_buffer_size=200000,
 
374
keep_files_on_create=OFF,
 
375
max_join_size=4444440000000 FOR
 
376
PREPARE stmt1 FROM
 
377
'SET STATEMENT binlog_format=row FOR SELECT * FROM t1';
 
378
''
 
379
'Test No 1 Post Value & Test 2 Pre values'
 
380
SELECT @@myisam_sort_buffer_size,
 
381
@@myisam_repair_threads,
 
382
@@sort_buffer_size,
 
383
@@binlog_format,
 
384
@@keep_files_on_create,
 
385
@@max_join_size;
 
386
@@myisam_sort_buffer_size       @@myisam_repair_threads @@sort_buffer_size      @@binlog_format @@keep_files_on_create  @@max_join_size
 
387
500000  1       100000  MIXED   1       2222220000000
 
388
''
 
389
''
 
390
SET STATEMENT myisam_sort_buffer_size=400000,
 
391
myisam_repair_threads=2,
 
392
sort_buffer_size=200000,
 
393
keep_files_on_create=OFF,
 
394
max_join_size=4444440000000 FOR
 
395
EXECUTE stmt1;
 
396
v1      v2
 
397
1       2
 
398
3       4
 
399
''
 
400
'# Post-STATEMENT No 2
 
401
SELECT @@myisam_sort_buffer_size,
 
402
@@myisam_repair_threads,
 
403
@@sort_buffer_size,
 
404
@@binlog_format,
 
405
@@keep_files_on_create,
 
406
@@max_join_size;
 
407
@@myisam_sort_buffer_size       @@myisam_repair_threads @@sort_buffer_size      @@binlog_format @@keep_files_on_create  @@max_join_size
 
408
500000  1       100000  MIXED   1       2222220000000
 
409
''
 
410
''
 
411
'#------------------Test 12-----------------------#'
 
412
'# set initial variable values
 
413
SET SESSION myisam_sort_buffer_size=500000,
 
414
myisam_repair_threads=1,
 
415
sort_buffer_size=100000,
 
416
binlog_format=mixed,
 
417
keep_files_on_create=ON,
 
418
max_join_size=2222220000000;
 
419
''
 
420
''
 
421
'# Pre-STATEMENT variable value
 
422
SELECT @@myisam_sort_buffer_size,
 
423
@@myisam_repair_threads,
 
424
@@sort_buffer_size,
 
425
@@binlog_format,
 
426
@@keep_files_on_create,
 
427
@@max_join_size;
 
428
@@myisam_sort_buffer_size       @@myisam_repair_threads @@sort_buffer_size      @@binlog_format @@keep_files_on_create  @@max_join_size
 
429
500000  1       100000  MIXED   1       2222220000000
 
430
''
 
431
''
 
432
SET STATEMENT myisam_sort_buffer_size=400000,
 
433
myisam_repair_threads=2,
 
434
sort_buffer_size=200000,
 
435
binlog_format=row,
 
436
keep_files_on_create=OFF,
 
437
max_join_size=4444440000000 FOR
 
438
CREATE PROCEDURE p1() BEGIN
 
439
SELECT @@myisam_sort_buffer_size,
 
440
@@myisam_repair_threads,
 
441
@@sort_buffer_size,
 
442
@@binlog_format,
 
443
@@keep_files_on_create,
 
444
@@max_join_size;
 
445
END|
 
446
''
 
447
'Test No 1 Post Value & Test 2 Pre values'
 
448
SELECT @@myisam_sort_buffer_size,
 
449
@@myisam_repair_threads,
 
450
@@sort_buffer_size,
 
451
@@binlog_format,
 
452
@@keep_files_on_create,
 
453
@@max_join_size;
 
454
@@myisam_sort_buffer_size       @@myisam_repair_threads @@sort_buffer_size      @@binlog_format @@keep_files_on_create  @@max_join_size
 
455
500000  1       100000  MIXED   1       2222220000000
 
456
''
 
457
''
 
458
SET STATEMENT myisam_sort_buffer_size=400000,
 
459
myisam_repair_threads=2,
 
460
sort_buffer_size=200000,
 
461
binlog_format=row,
 
462
keep_files_on_create=OFF,
 
463
max_join_size=4444440000000 FOR
 
464
CALL p1();
 
465
@@myisam_sort_buffer_size       @@myisam_repair_threads @@sort_buffer_size      @@binlog_format @@keep_files_on_create  @@max_join_size
 
466
400000  2       200000  ROW     0       4444440000000
 
467
''
 
468
'# Post-STATEMENT No 2
 
469
SELECT @@myisam_sort_buffer_size,
 
470
@@myisam_repair_threads,
 
471
@@sort_buffer_size,
 
472
@@binlog_format,
 
473
@@keep_files_on_create,
 
474
@@max_join_size;
 
475
@@myisam_sort_buffer_size       @@myisam_repair_threads @@sort_buffer_size      @@binlog_format @@keep_files_on_create  @@max_join_size
 
476
500000  1       100000  MIXED   1       2222220000000
 
477
''
 
478
''
 
479
'#------------------Test 13-----------------------#'
 
480
'# set initial variable values
 
481
SET SESSION myisam_sort_buffer_size=500000,
 
482
myisam_repair_threads=1,
 
483
sort_buffer_size=100000,
 
484
binlog_format=mixed,
 
485
keep_files_on_create=ON,
 
486
max_join_size=2222220000000;
 
487
''
 
488
''
 
489
CREATE PROCEDURE p2() BEGIN
 
490
SET STATEMENT myisam_sort_buffer_size=400000,
 
491
myisam_repair_threads=3,
 
492
sort_buffer_size=300000,
 
493
binlog_format=mixed,
 
494
keep_files_on_create=OFF,
 
495
max_join_size=3333330000000 FOR
 
496
CALL p1();
 
497
END|
 
498
''
 
499
'# Pre-STATEMENT variable value
 
500
SELECT @@myisam_sort_buffer_size,
 
501
@@myisam_repair_threads,
 
502
@@sort_buffer_size,
 
503
@@binlog_format,
 
504
@@keep_files_on_create,
 
505
@@max_join_size;
 
506
@@myisam_sort_buffer_size       @@myisam_repair_threads @@sort_buffer_size      @@binlog_format @@keep_files_on_create  @@max_join_size
 
507
500000  1       100000  MIXED   1       2222220000000
 
508
''
 
509
''
 
510
SET STATEMENT myisam_sort_buffer_size=400000,
 
511
myisam_repair_threads=2,
 
512
sort_buffer_size=200000,
 
513
binlog_format=row,
 
514
keep_files_on_create=OFF,
 
515
max_join_size=4444440000000 FOR
 
516
CALL p2();
 
517
@@myisam_sort_buffer_size       @@myisam_repair_threads @@sort_buffer_size      @@binlog_format @@keep_files_on_create  @@max_join_size
 
518
400000  3       300000  MIXED   0       3333330000000
 
519
''
 
520
'# Post-STATEMENT
 
521
SELECT @@myisam_sort_buffer_size,
 
522
@@myisam_repair_threads,
 
523
@@sort_buffer_size,
 
524
@@binlog_format,
 
525
@@keep_files_on_create,
 
526
@@max_join_size;
 
527
@@myisam_sort_buffer_size       @@myisam_repair_threads @@sort_buffer_size      @@binlog_format @@keep_files_on_create  @@max_join_size
 
528
500000  1       100000  MIXED   1       2222220000000
 
529
''
 
530
''
 
531
'#------------------Test 14-----------------------#'
 
532
'# set initial variable values
 
533
SET SESSION myisam_sort_buffer_size=500000,
 
534
myisam_repair_threads=1,
 
535
sort_buffer_size=100000,
 
536
binlog_format=mixed,
 
537
keep_files_on_create=ON,
 
538
max_join_size=2222220000000;
 
539
''
 
540
''
 
541
CREATE PROCEDURE p3() BEGIN
 
542
SELECT @@myisam_sort_buffer_size,
 
543
@@myisam_repair_threads,
 
544
@@sort_buffer_size,
 
545
@@binlog_format,
 
546
@@keep_files_on_create,
 
547
@@max_join_size;
 
548
SET STATEMENT myisam_sort_buffer_size=320000,
 
549
myisam_repair_threads=2,
 
550
sort_buffer_size=220022,
 
551
binlog_format=row,
 
552
keep_files_on_create=ON,
 
553
max_join_size=2222220000000 FOR
 
554
CALL p2();
 
555
END|
 
556
''
 
557
'# Pre-STATEMENT variable value
 
558
SELECT @@myisam_sort_buffer_size,
 
559
@@myisam_repair_threads,
 
560
@@sort_buffer_size,
 
561
@@binlog_format,
 
562
@@keep_files_on_create,
 
563
@@max_join_size;
 
564
@@myisam_sort_buffer_size       @@myisam_repair_threads @@sort_buffer_size      @@binlog_format @@keep_files_on_create  @@max_join_size
 
565
500000  1       100000  MIXED   1       2222220000000
 
566
''
 
567
''
 
568
SET STATEMENT myisam_sort_buffer_size=400000,
 
569
myisam_repair_threads=2,
 
570
sort_buffer_size=200000,
 
571
binlog_format=row,
 
572
keep_files_on_create=OFF,
 
573
max_join_size=4444440000000 FOR
 
574
CALL p3();
 
575
@@myisam_sort_buffer_size       @@myisam_repair_threads @@sort_buffer_size      @@binlog_format @@keep_files_on_create  @@max_join_size
 
576
400000  2       200000  ROW     0       4444440000000
 
577
@@myisam_sort_buffer_size       @@myisam_repair_threads @@sort_buffer_size      @@binlog_format @@keep_files_on_create  @@max_join_size
 
578
400000  3       300000  MIXED   0       3333330000000
 
579
''
 
580
'# Post-STATEMENT
 
581
SELECT @@myisam_sort_buffer_size,
 
582
@@myisam_repair_threads,
 
583
@@sort_buffer_size,
 
584
@@binlog_format,
 
585
@@keep_files_on_create,
 
586
@@max_join_size;
 
587
@@myisam_sort_buffer_size       @@myisam_repair_threads @@sort_buffer_size      @@binlog_format @@keep_files_on_create  @@max_join_size
 
588
500000  1       100000  MIXED   1       2222220000000
 
589
''
 
590
''
 
591
''
 
592
''
 
593
'#------------------Test 15-----------------------#'
 
594
'# set initial variable values
 
595
SET SESSION myisam_sort_buffer_size=500000,
 
596
myisam_repair_threads=1,
 
597
sort_buffer_size=100000,
 
598
binlog_format=mixed,
 
599
keep_files_on_create=ON,
 
600
max_join_size=2222220000000;
 
601
''
 
602
''
 
603
CREATE PROCEDURE p4() BEGIN
 
604
SELECT @@myisam_sort_buffer_size,
 
605
@@myisam_repair_threads,
 
606
@@sort_buffer_size,
 
607
@@binlog_format,
 
608
@@keep_files_on_create,
 
609
@@max_join_size;
 
610
SET STATEMENT myisam_sort_buffer_size=320000,
 
611
myisam_repair_threads=2,
 
612
sort_buffer_size=220022,
 
613
binlog_format=row,
 
614
keep_files_on_create=ON,
 
615
max_join_size=2222220000000 FOR
 
616
SELECT @@myisam_sort_buffer_size,
 
617
@@myisam_repair_threads,
 
618
@@sort_buffer_size,
 
619
@@binlog_format,
 
620
@@keep_files_on_create,
 
621
@@max_join_size;
 
622
SET STATEMENT myisam_sort_buffer_size=320000,
 
623
myisam_repair_threads=2,
 
624
sort_buffer_size=220022,
 
625
binlog_format=row,
 
626
keep_files_on_create=ON,
 
627
max_join_size=2222220000000 FOR
 
628
SELECT @@myisam_sort_buffer_size,
 
629
@@myisam_repair_threads,
 
630
@@sort_buffer_size,
 
631
@@binlog_format,
 
632
@@keep_files_on_create,
 
633
@@max_join_size;
 
634
SET STATEMENT myisam_sort_buffer_size=320000,
 
635
myisam_repair_threads=2,
 
636
sort_buffer_size=220022,
 
637
binlog_format=row,
 
638
keep_files_on_create=ON,
 
639
max_join_size=2222220000000 FOR
 
640
SELECT @@myisam_sort_buffer_size,
 
641
@@myisam_repair_threads,
 
642
@@sort_buffer_size,
 
643
@@binlog_format,
 
644
@@keep_files_on_create,
 
645
@@max_join_size;
 
646
END|
 
647
''
 
648
'# Pre-STATEMENT variable value
 
649
SELECT @@myisam_sort_buffer_size,
 
650
@@myisam_repair_threads,
 
651
@@sort_buffer_size,
 
652
@@binlog_format,
 
653
@@keep_files_on_create,
 
654
@@max_join_size;
 
655
@@myisam_sort_buffer_size       @@myisam_repair_threads @@sort_buffer_size      @@binlog_format @@keep_files_on_create  @@max_join_size
 
656
500000  1       100000  MIXED   1       2222220000000
 
657
''
 
658
''
 
659
SET STATEMENT myisam_sort_buffer_size=400000,
 
660
myisam_repair_threads=2,
 
661
sort_buffer_size=200000,
 
662
binlog_format=row,
 
663
keep_files_on_create=OFF,
 
664
max_join_size=4444440000000 FOR
 
665
CALL p4();
 
666
@@myisam_sort_buffer_size       @@myisam_repair_threads @@sort_buffer_size      @@binlog_format @@keep_files_on_create  @@max_join_size
 
667
400000  2       200000  ROW     0       4444440000000
 
668
@@myisam_sort_buffer_size       @@myisam_repair_threads @@sort_buffer_size      @@binlog_format @@keep_files_on_create  @@max_join_size
 
669
320000  2       220022  ROW     1       2222220000000
 
670
@@myisam_sort_buffer_size       @@myisam_repair_threads @@sort_buffer_size      @@binlog_format @@keep_files_on_create  @@max_join_size
 
671
320000  2       220022  ROW     1       2222220000000
 
672
@@myisam_sort_buffer_size       @@myisam_repair_threads @@sort_buffer_size      @@binlog_format @@keep_files_on_create  @@max_join_size
 
673
320000  2       220022  ROW     1       2222220000000
 
674
''
 
675
'# Post-STATEMENT
 
676
SELECT @@myisam_sort_buffer_size,
 
677
@@myisam_repair_threads,
 
678
@@sort_buffer_size,
 
679
@@binlog_format,
 
680
@@keep_files_on_create,
 
681
@@max_join_size;
 
682
@@myisam_sort_buffer_size       @@myisam_repair_threads @@sort_buffer_size      @@binlog_format @@keep_files_on_create  @@max_join_size
 
683
500000  1       100000  MIXED   1       2222220000000
 
684
''
 
685
''
 
686
'#------------------Test 16-----------------------#'
 
687
''
 
688
'# Pre-STATEMENT variable value
 
689
SELECT @@sql_mode;
 
690
@@sql_mode
 
691
 
 
692
''
 
693
''
 
694
SET STATEMENT sql_mode='ansi' FOR SELECT * FROM t1;
 
695
v1      v2
 
696
1       2
 
697
3       4
 
698
''
 
699
'# Post-STATEMENT
 
700
SELECT @@sql_mode;
 
701
@@sql_mode
 
702
 
 
703
''
 
704
''
 
705
'#------------------Test 17-----------------------#'
 
706
'# set initial variable values
 
707
SET SESSION myisam_sort_buffer_size=500000,
 
708
myisam_repair_threads=1,
 
709
sort_buffer_size=100000,
 
710
binlog_format=mixed,
 
711
keep_files_on_create=ON,
 
712
max_join_size=2222220000000;
 
713
''
 
714
'# Pre-STATEMENT variable value
 
715
SELECT @@myisam_sort_buffer_size,
 
716
@@myisam_repair_threads,
 
717
@@sort_buffer_size,
 
718
@@binlog_format,
 
719
@@keep_files_on_create,
 
720
@@max_join_size;
 
721
@@myisam_sort_buffer_size       @@myisam_repair_threads @@sort_buffer_size      @@binlog_format @@keep_files_on_create  @@max_join_size
 
722
500000  1       100000  MIXED   1       2222220000000
 
723
''
 
724
''
 
725
SET STATEMENT myisam_sort_buffer_size=320000,
 
726
myisam_repair_threads=2,
 
727
sort_buffer_size=220022,
 
728
binlog_format=row,
 
729
keep_files_on_create=ON,
 
730
max_join_size=2222220000000
 
731
FOR SET SESSION
 
732
myisam_sort_buffer_size=260000,
 
733
myisam_repair_threads=3,
 
734
sort_buffer_size=230013,
 
735
binlog_format=row,
 
736
keep_files_on_create=ON,
 
737
max_join_size=2323230000000;
 
738
''
 
739
'# Post-STATEMENT
 
740
SELECT @@myisam_sort_buffer_size,
 
741
@@myisam_repair_threads,
 
742
@@sort_buffer_size,
 
743
@@binlog_format,
 
744
@@keep_files_on_create,
 
745
@@max_join_size;
 
746
@@myisam_sort_buffer_size       @@myisam_repair_threads @@sort_buffer_size      @@binlog_format @@keep_files_on_create  @@max_join_size
 
747
500000  1       100000  MIXED   1       2222220000000
 
748
''
 
749
''
 
750
'#------------------Test 18-----------------------#'
 
751
'# set initial variable values
 
752
SET SESSION myisam_sort_buffer_size=500000,
 
753
myisam_repair_threads=1,
 
754
sort_buffer_size=100000,
 
755
binlog_format=mixed,
 
756
keep_files_on_create=ON,
 
757
max_join_size=2222220000000;
 
758
''
 
759
'# Pre-STATEMENT variable value
 
760
SELECT @@myisam_sort_buffer_size,
 
761
@@myisam_repair_threads,
 
762
@@sort_buffer_size,
 
763
@@binlog_format,
 
764
@@keep_files_on_create,
 
765
@@max_join_size;
 
766
@@myisam_sort_buffer_size       @@myisam_repair_threads @@sort_buffer_size      @@binlog_format @@keep_files_on_create  @@max_join_size
 
767
500000  1       100000  MIXED   1       2222220000000
 
768
''
 
769
''
 
770
CREATE PROCEDURE p5() BEGIN
 
771
SELECT @@myisam_sort_buffer_size,
 
772
@@myisam_repair_threads,
 
773
@@sort_buffer_size,
 
774
@@binlog_format,
 
775
@@keep_files_on_create,
 
776
@@max_join_size;
 
777
SET SESSION
 
778
myisam_sort_buffer_size=260000,
 
779
myisam_repair_threads=3,
 
780
sort_buffer_size=230013,
 
781
binlog_format=row,
 
782
keep_files_on_create=ON,
 
783
max_join_size=2323230000000;
 
784
SELECT @@myisam_sort_buffer_size,
 
785
@@myisam_repair_threads,
 
786
@@sort_buffer_size,
 
787
@@binlog_format,
 
788
@@keep_files_on_create,
 
789
@@max_join_size;
 
790
END|
 
791
''
 
792
''
 
793
SET STATEMENT myisam_sort_buffer_size=400000,
 
794
myisam_repair_threads=2,
 
795
sort_buffer_size=200000,
 
796
binlog_format=row,
 
797
keep_files_on_create=OFF,
 
798
max_join_size=4444440000000 FOR
 
799
CALL p5();
 
800
@@myisam_sort_buffer_size       @@myisam_repair_threads @@sort_buffer_size      @@binlog_format @@keep_files_on_create  @@max_join_size
 
801
400000  2       200000  ROW     0       4444440000000
 
802
@@myisam_sort_buffer_size       @@myisam_repair_threads @@sort_buffer_size      @@binlog_format @@keep_files_on_create  @@max_join_size
 
803
260000  3       230013  ROW     1       2323230000000
 
804
''
 
805
'# Post-STATEMENT
 
806
SELECT @@myisam_sort_buffer_size,
 
807
@@myisam_repair_threads,
 
808
@@sort_buffer_size,
 
809
@@binlog_format,
 
810
@@keep_files_on_create,
 
811
@@max_join_size;
 
812
@@myisam_sort_buffer_size       @@myisam_repair_threads @@sort_buffer_size      @@binlog_format @@keep_files_on_create  @@max_join_size
 
813
500000  1       100000  MIXED   1       2222220000000
 
814
''
 
815
''
 
816
'#------------------Test 19-----------------------#'
 
817
SET STATEMENT max_error_count=100 FOR;
 
818
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '' at line 1
 
819
SET STATEMENT max_error_count=100 INSERT t1 VALUES (1,2);
 
820
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'INSERT t1 VALUES (1,2)' at line 1
 
821
SET STATEMENT FOR INSERT INTO t1 VALUES (1,2);
 
822
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'FOR INSERT INTO t1 VALUES (1,2)' at line 1
 
823
SET max_error_count=100 FOR INSERT INTO t1 VALUES (1,2);
 
824
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'FOR INSERT INTO t1 VALUES (1,2)' at line 1
 
825
SET max_error_count=100 FOR INSERT INTO t1 VALUES (1,2);
 
826
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'FOR INSERT INTO t1 VALUES (1,2)' at line 1
 
827
SET STATEMENT GLOBAL max_error_count=100 FOR INSERT INTO t1 VALUES (1,2);
 
828
ERROR HY000: Unknown system variable 'GLOBAL'
 
829
SET STATEMENT @@global.max_error_count=100 FOR INSERT INTO t1 VALUES (1,2);
 
830
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '@@global.max_error_count=100 FOR INSERT INTO t1 VALUES (1,2)' at line 1
 
831
''
 
832
''
 
833
'#------------------Test 20-----------------------#'
 
834
SET STATEMENT connect_timeout=100 FOR INSERT INTO t1 VALUES (1,2);
 
835
ERROR HY000: Variable 'connect_timeout' is a GLOBAL variable and should be set with SET GLOBAL
 
836
''
 
837
''
 
838
'#------------------Test 21-----------------------#'
 
839
SELECT @@myisam_sort_buffer_size, @@sort_buffer_size;
 
840
@@myisam_sort_buffer_size       @@sort_buffer_size
 
841
500000  100000
 
842
SET STATEMENT myisam_sort_buffer_size = 700000, sort_buffer_size = 3000000
 
843
FOR SET STATEMENT myisam_sort_buffer_size=200000
 
844
FOR SELECT @@myisam_sort_buffer_size, @@sort_buffer_size;
 
845
@@myisam_sort_buffer_size       @@sort_buffer_size
 
846
200000  3000000
 
847
SELECT @@myisam_sort_buffer_size, @@sort_buffer_size;
 
848
@@myisam_sort_buffer_size       @@sort_buffer_size
 
849
500000  100000
 
850
''
 
851
''
 
852
'#------------------Test 22-----------------------#'
 
853
CREATE TABLE STATEMENT(a INT);
 
854
DROP TABLE STATEMENT;
 
855
''
 
856
'# Cleanup'
 
857
DROP TABLE t1;
 
858
DROP PROCEDURE p1;
 
859
DROP PROCEDURE p2;
 
860
DROP PROCEDURE p3;
 
861
DROP PROCEDURE p4;
 
862
DROP PROCEDURE p5;