1
drop table if exists t1,t2;
2
set @my_max_connect_errors =@@global.max_connect_errors;
3
set @my_max_heap_table_size =@@global.max_heap_table_size;
4
set @my_max_join_size =@@global.max_join_size;
5
set @my_mysql_protocol_buffer_length =@@global.mysql_protocol_buffer_length;
6
set @my_server_id =@@global.server_id;
7
set @my_storage_engine =@@global.storage_engine;
8
set @my_myisam_sort_buffer_size =@@global.myisam_sort_buffer_size;
9
set @my_tx_isolation =@@global.tx_isolation;
11
select @test, @`test`, @TEST, @`TEST`, @"teSt";
12
@test @`test` @TEST @`TEST` @"teSt"
15
select @test, @`test`, @TEST, @`TEST`, @"teSt";
16
@test @`test` @TEST @`TEST` @"teSt"
19
select @test, @`test`, @TEST, @`TEST`, @"teSt";
20
@test @`test` @TEST @`TEST` @"teSt"
23
select @test, @`test`, @TEST, @`TEST`, @"teSt";
24
@test @`test` @TEST @`TEST` @"teSt"
29
select @test, @`test`, @TEST, @`TEST`, @"teSt";
30
@test @`test` @TEST @`TEST` @"teSt"
32
set @select=2,@t5=1.23456;
33
select @`select`,@not_used;
36
set @test_int=10,@test_double=1e-10,@test_string="abcdeghi",@test_string2="abcdefghij",@select=NULL;
37
select @test_int,@test_double,@test_string,@test_string2,@select;
38
@test_int @test_double @test_string @test_string2 @select
39
10 0.0000000001 abcdeghi abcdefghij NULL
40
set @test_int="hello",@test_double="hello",@test_string="hello",@test_string2="hello";
41
select @test_int,@test_double,@test_string,@test_string2;
42
@test_int @test_double @test_string @test_string2
43
hello hello hello hello
44
set @test_int="hellohello",@test_double="hellohello",@test_string="hellohello",@test_string2="hellohello";
45
select @test_int,@test_double,@test_string,@test_string2;
46
@test_int @test_double @test_string @test_string2
47
hellohello hellohello hellohello hellohello
48
set @test_int=null,@test_double=null,@test_string=null,@test_string2=null;
49
select @test_int,@test_double,@test_string,@test_string2;
50
@test_int @test_double @test_string @test_string2
52
select @t1:=(@t2:=1)+@t3:=4,@t1,@t2,@t3;
53
@t1:=(@t2:=1)+@t3:=4 @t1 @t2 @t3
55
explain extended select @t1:=(@t2:=1)+@t3:=4,@t1,@t2,@t3;
56
id select_type table type possible_keys key key_len ref rows filtered Extra
57
1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL No tables used
59
Note 1003 select (@t1:=((@t2:=1) + (@t3:=4))) AS `@t1:=(@t2:=1)+@t3:=4`,(@t1) AS `@t1`,(@t2) AS `@t2`,(@t3) AS `@t3`
63
CREATE TABLE t1 (c_id INT NOT NULL, c_name VARCHAR(250), c_country VARCHAR(250), PRIMARY KEY(c_id));
64
INSERT INTO t1 VALUES (1,'Bozo','USA'),(2,'Ronald','USA'),(3,'Kinko','IRE'),(4,'Mr. Floppy','GB');
65
SELECT @min_cid:=min(c_id), @max_cid:=max(c_id) from t1;
66
@min_cid:=min(c_id) @max_cid:=max(c_id)
68
SELECT * FROM t1 WHERE c_id=@min_cid OR c_id=@max_cid;
72
SELECT * FROM t1 WHERE c_id=@min_cid OR c_id=@max_cid OR c_id=666;
76
ALTER TABLE t1 DROP PRIMARY KEY;
77
select * from t1 where c_id=@min_cid OR c_id=@max_cid;
82
set GLOBAL max_join_size=10;
83
set max_join_size=100;
84
show variables like 'max_join_size';
87
select * from data_dictionary.session_variables where variable_name like 'max_join_size';
88
VARIABLE_NAME VARIABLE_VALUE
90
show global variables like 'max_join_size';
93
select * from data_dictionary.global_variables where variable_name like 'max_join_size';
94
VARIABLE_NAME VARIABLE_VALUE
96
set GLOBAL max_join_size=2000;
97
show global variables like 'max_join_size';
100
select * from data_dictionary.global_variables where variable_name like 'max_join_size';
101
VARIABLE_NAME VARIABLE_VALUE
103
set max_join_size=DEFAULT;
104
show variables like 'max_join_size';
107
select * from data_dictionary.session_variables where variable_name like 'max_join_size';
108
VARIABLE_NAME VARIABLE_VALUE
110
set GLOBAL max_join_size=DEFAULT;
111
show global variables like 'max_join_size';
113
max_join_size 2147483647
114
select * from data_dictionary.global_variables where variable_name like 'max_join_size';
115
VARIABLE_NAME VARIABLE_VALUE
116
max_join_size 2147483647
117
set @@max_join_size=1000, @@global.max_join_size=2000;
118
select @@local.max_join_size, @@global.max_join_size;
119
@@local.max_join_size @@global.max_join_size
121
select @@identity, length(@@version)>0;
122
@@identity length(@@version)>0
124
select @@VERSION=version();
127
select last_insert_id(345);
130
explain extended select last_insert_id(345);
131
id select_type table type possible_keys key key_len ref rows filtered Extra
132
1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL No tables used
134
Note 1003 select last_insert_id(345) AS `last_insert_id(345)`
135
select @@IDENTITY,last_insert_id(), @@identity;
136
@@IDENTITY last_insert_id() @@identity
138
explain extended select @@IDENTITY,last_insert_id(), @@identity;
139
id select_type table type possible_keys key key_len ref rows filtered Extra
140
1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL No tables used
142
Note 1003 select 345 AS `@@IDENTITY`,last_insert_id() AS `last_insert_id()`,345 AS `@@identity`
143
set global timed_mutexes=ON;
144
show variables like 'timed_mutexes';
147
select * from data_dictionary.session_variables where variable_name like 'timed_mutexes';
148
VARIABLE_NAME VARIABLE_VALUE
150
set global timed_mutexes=0;
151
show variables like 'timed_mutexes';
154
select * from data_dictionary.session_variables where variable_name like 'timed_mutexes';
155
VARIABLE_NAME VARIABLE_VALUE
157
set storage_engine=MYISAM, storage_engine="MEMORY";
158
show local variables like 'storage_engine';
160
storage_engine MEMORY
161
select * from data_dictionary.session_variables where variable_name like 'storage_engine';
162
VARIABLE_NAME VARIABLE_VALUE
163
storage_engine MEMORY
164
show global variables like 'storage_engine';
167
select * from data_dictionary.global_variables where variable_name like 'storage_engine';
168
VARIABLE_NAME VARIABLE_VALUE
170
set GLOBAL myisam_max_sort_file_size=2000000;
171
show global variables like 'myisam_max_sort_file_size';
173
myisam_max_sort_file_size 2000000
174
select * from data_dictionary.global_variables where variable_name like 'myisam_max_sort_file_size';
175
VARIABLE_NAME VARIABLE_VALUE
176
myisam_max_sort_file_size 2000000
177
set GLOBAL myisam_max_sort_file_size=default;
178
show global variables like 'myisam_max_sort_file_size';
180
myisam_max_sort_file_size 2147483647
181
select * from data_dictionary.global_variables where variable_name like 'myisam_max_sort_file_size';
182
VARIABLE_NAME VARIABLE_VALUE
183
myisam_max_sort_file_size 2147483647
184
set global mysql_protocol_buffer_length=1024;
185
show global variables like 'mysql_protocol_buffer_%';
187
mysql_protocol_buffer_length 1024
188
select * from data_dictionary.global_variables where variable_name like 'mysql_protocol_buffer_%';
189
VARIABLE_NAME VARIABLE_VALUE
190
mysql_protocol_buffer_length 1024
191
show global variables like 'mysql_protocol_buffer_%';
193
mysql_protocol_buffer_length 1024
194
select * from data_dictionary.global_variables where variable_name like 'mysql_protocol_buffer_%';
195
VARIABLE_NAME VARIABLE_VALUE
196
mysql_protocol_buffer_length 1024
197
set global mysql_protocol_buffer_length=1;
199
Error 1292 Truncated incorrect buffer_length value: '1'
200
show variables like 'mysql_protocol_buffer_length';
202
mysql_protocol_buffer_length 1024
203
set global mysql_protocol_buffer_length=2000000000;
205
Error 1292 Truncated incorrect buffer_length value: '2000000000'
206
show variables like 'mysql_protocol_buffer_length';
208
mysql_protocol_buffer_length 1048576
209
show variables like '%alloc%';
211
innodb_use_sys_malloc ON
212
query_alloc_block_size 8192
213
query_prealloc_size 8192
214
range_alloc_block_size 4096
215
select * from data_dictionary.session_variables where variable_name like '%alloc%';
216
VARIABLE_NAME VARIABLE_VALUE
217
innodb_use_sys_malloc ON
218
query_alloc_block_size 8192
219
query_prealloc_size 8192
220
range_alloc_block_size 4096
221
set @@range_alloc_block_size=1024*16;
222
set @@query_alloc_block_size=1024*17+2;
223
set @@query_prealloc_size=1024*18;
224
select @@query_alloc_block_size;
225
@@query_alloc_block_size
227
show variables like '%alloc%';
229
innodb_use_sys_malloc ON
230
query_alloc_block_size 17408
231
query_prealloc_size 18432
232
range_alloc_block_size 16384
233
select * from data_dictionary.session_variables where variable_name like '%alloc%';
234
VARIABLE_NAME VARIABLE_VALUE
235
innodb_use_sys_malloc ON
236
query_alloc_block_size 17408
237
query_prealloc_size 18432
238
range_alloc_block_size 16384
239
set @@range_alloc_block_size=default;
240
set @@query_alloc_block_size=default, @@query_prealloc_size=default;
241
show variables like '%alloc%';
243
innodb_use_sys_malloc ON
244
query_alloc_block_size 8192
245
query_prealloc_size 8192
246
range_alloc_block_size 4096
247
select * from data_dictionary.session_variables where variable_name like '%alloc%';
248
VARIABLE_NAME VARIABLE_VALUE
249
innodb_use_sys_malloc ON
250
query_alloc_block_size 8192
251
query_prealloc_size 8192
252
range_alloc_block_size 4096
253
SELECT @@version LIKE 'non-existent';
254
@@version LIKE 'non-existent'
256
SELECT @@version_compile_os LIKE 'non-existent';
257
@@version_compile_os LIKE 'non-existent'
259
set unknown_variable=1;
260
ERROR HY000: Unknown system variable 'unknown_variable'
261
set max_join_size="hello";
262
ERROR 42000: Incorrect argument type to variable 'max_join_size'
263
set storage_engine=UNKNOWN_TABLE_TYPE;
264
ERROR 42000: Unknown table engine 'UNKNOWN_TABLE_TYPE'
265
set GLOBAL storage_engine=DEFAULT;
266
ERROR 42000: Variable 'storage_engine' doesn't have a default value
267
set global autocommit=1;
268
ERROR HY000: Variable 'autocommit' is a SESSION variable and can't be used with SET GLOBAL
269
select @@global.timestamp;
270
ERROR HY000: Variable 'timestamp' is a SESSION variable
272
ERROR HY000: Variable 'version' is a read only variable
273
set myisam_max_sort_file_size=100;
274
ERROR HY000: Variable 'myisam_max_sort_file_size' is a GLOBAL variable and should be set with SET GLOBAL
275
set @@SQL_WARNINGS=NULL;
276
ERROR 42000: Variable 'sql_warnings' can't be set to the value of 'NULL'
281
set bulk_insert_buffer_size=100;
282
set join_buffer_size=100;
284
Error 1292 Truncated incorrect join_buffer_size value: '100'
285
set last_insert_id=1;
286
set max_allowed_packet=100;
288
Error 1292 Truncated incorrect max_allowed_packet value: '100'
289
set global max_connect_errors=100;
290
set max_heap_table_size=100;
292
Error 1292 Truncated incorrect max_heap_table_size value: '100'
293
set max_join_size=100;
294
set max_sort_length=100;
295
set global max_write_lock_count=100;
296
set global myisam_sort_buffer_size=100;
298
Error 1292 Truncated incorrect sort_buffer_size value: '100'
299
set global mysql_protocol_buffer_length=100;
301
Error 1292 Truncated incorrect buffer_length value: '100'
302
set read_buffer_size=100;
304
Error 1292 Truncated incorrect read_buffer_size value: '100'
305
set read_rnd_buffer_size=100;
306
set global server_id=100;
307
set sort_buffer_size=100;
309
Error 1292 Truncated incorrect sort_buffer_size value: '100'
310
set sql_big_selects=1;
311
set sql_buffer_result=1;
312
set sql_select_limit=1;
313
set sql_select_limit=default;
315
set global table_open_cache=100;
316
set storage_engine=myisam;
317
set timestamp=1, timestamp=default;
318
set tmp_table_size=100;
320
Error 1292 Truncated incorrect tmp_table_size value: '100'
321
set tx_isolation="READ-COMMITTED";
322
set global myisam_max_sort_file_size=4294967296;
323
show global variables like 'myisam_max_sort_file_size';
325
myisam_max_sort_file_size MAX_FILE_SIZE
326
select * from data_dictionary.global_variables where variable_name like 'myisam_max_sort_file_size';
327
VARIABLE_NAME VARIABLE_VALUE
328
myisam_max_sort_file_size MAX_FILE_SIZE
329
set global myisam_max_sort_file_size=default;
330
create temporary table t1 (
336
show create table t1;
338
t1 CREATE TEMPORARY TABLE `t1` (
339
`c1` INT DEFAULT NULL,
340
`c2` INT DEFAULT NULL,
341
`c3` INT DEFAULT NULL,
342
`c4` INT DEFAULT NULL,
343
`c5` BIGINT DEFAULT NULL
344
) ENGINE=MyISAM COLLATE = utf8_general_ci
346
set @arg00= 8, @arg01= 8.8, @arg02= 'a string', @arg03= 0.2e0;
347
create temporary table t1 as select @arg00 as c1, @arg01 as c2, @arg02 as c3, @arg03 as c4;
348
show create table t1;
350
t1 CREATE TEMPORARY TABLE `t1` (
351
`c1` BIGINT DEFAULT NULL,
352
`c2` DECIMAL(65,30) DEFAULT NULL,
353
`c3` TEXT COLLATE utf8_general_ci,
354
`c4` DOUBLE DEFAULT NULL
355
) ENGINE=MyISAM COLLATE = utf8_general_ci
357
SET GLOBAL table_open_cache=-1;
359
Error 1292 Truncated incorrect table_open_cache value: '18446744073709551615'
360
SHOW VARIABLES LIKE 'table_open_cache';
363
SELECT * FROM DATA_DICTIONARY.SESSION_VARIABLES WHERE VARIABLE_NAME LIKE 'table_open_cache';
364
VARIABLE_NAME VARIABLE_VALUE
366
SET GLOBAL table_open_cache=DEFAULT;
367
*** Various tests with LC_TIME_NAMES
368
*** LC_TIME_NAMES: testing case insensitivity
369
set @@lc_time_names='ru_ru';
370
select @@lc_time_names;
373
*** LC_TIME_NAMES: testing with a user variable
375
set @@lc_time_names=@lc;
376
select @@lc_time_names;
379
*** LC_TIME_NAMES: testing with string expressions
380
set lc_time_names=concat('de','_','DE');
381
select @@lc_time_names;
384
set lc_time_names=concat('de','+','DE');
385
ERROR HY000: Unknown locale: 'de+DE'
386
select @@lc_time_names;
389
LC_TIME_NAMES: testing with numeric expressions
390
set @@lc_time_names=1+2;
391
select @@lc_time_names;
394
set @@lc_time_names=1/0;
395
ERROR 42000: Incorrect argument type to variable 'lc_time_names'
396
select @@lc_time_names;
399
set lc_time_names=en_US;
400
LC_TIME_NAMES: testing NULL and a negative number:
401
set lc_time_names=NULL;
402
ERROR 42000: Variable 'lc_time_names' can't be set to the value of 'NULL'
403
set lc_time_names=-1;
404
ERROR HY000: Unknown locale: '-1'
405
select @@lc_time_names;
408
LC_TIME_NAMES: testing locale with the last ID:
409
set lc_time_names=108;
410
select @@lc_time_names;
413
LC_TIME_NAMES: testing a number beyond the valid ID range:
414
set lc_time_names=109;
415
ERROR HY000: Unknown locale: '109'
416
select @@lc_time_names;
419
LC_TIME_NAMES: testing that 0 is en_US:
421
select @@lc_time_names;
424
select @@global.lc_time_names, @@lc_time_names;
425
@@global.lc_time_names @@lc_time_names
427
set @@global.lc_time_names=fr_FR;
428
select @@global.lc_time_names, @@lc_time_names;
429
@@global.lc_time_names @@lc_time_names
432
select @@global.lc_time_names, @@lc_time_names;
433
@@global.lc_time_names @@lc_time_names
435
set @@lc_time_names=ru_RU;
436
select @@global.lc_time_names, @@lc_time_names;
437
@@global.lc_time_names @@lc_time_names
439
Returnung to default connection
440
select @@global.lc_time_names, @@lc_time_names;
441
@@global.lc_time_names @@lc_time_names
443
set lc_time_names=default;
444
select @@global.lc_time_names, @@lc_time_names;
445
@@global.lc_time_names @@lc_time_names
447
set @@global.lc_time_names=default;
448
select @@global.lc_time_names, @@lc_time_names;
449
@@global.lc_time_names @@lc_time_names
451
set @@lc_time_names=default;
452
select @@global.lc_time_names, @@lc_time_names;
453
@@global.lc_time_names @@lc_time_names
455
set @test = @@query_prealloc_size;
456
set @@query_prealloc_size = @test;
457
select @@query_prealloc_size = @test;
458
@@query_prealloc_size = @test
461
create temporary table t1 (a int);
462
select a into @x from t1;
464
Warning 1329 No data - zero rows fetched, selected, or processed
467
Warning 1329 No data - zero rows fetched, selected, or processed
469
set @@warning_count=1;
470
ERROR HY000: Variable 'warning_count' is a read only variable
471
set @@global.error_count=1;
472
ERROR HY000: Variable 'error_count' is a read only variable
473
select @@character_set_system;
474
ERROR HY000: Unknown system variable 'character_set_system'
475
set global character_set_system = utf8;
476
ERROR HY000: Unknown system variable 'character_set_system'
477
set @@global.version_compile_os='234';
478
ERROR HY000: Variable 'version_compile_os' is a read only variable
479
set @@global.character_set_filesystem=utf8;
480
ERROR HY000: Unknown system variable 'character_set_filesystem'
481
set character_set_filesystem=utf8;
482
ERROR HY000: Unknown system variable 'character_set_filesystem'
483
set @sql_big_selects = @@sql_big_selects;
484
set @@sql_big_selects = 1;
485
show variables like 'sql_big_selects';
488
set @@sql_big_selects = @sql_big_selects;
489
set @@sql_notes = 0, @@sql_warnings = 0;
490
show variables like 'sql_notes';
493
show variables like 'sql_warnings';
496
set @@sql_notes = 1, @@sql_warnings = 1;
497
show variables like 'sql_notes';
500
show variables like 'sql_warnings';
503
select @@version, @@version_comment, @@version_compile_machine,
504
@@version_compile_os;
505
@@version @@version_comment @@version_compile_machine @@version_compile_os
507
select @@basedir, @@datadir, @@tmpdir;
508
@@basedir @@datadir @@tmpdir
510
show variables like 'basedir';
513
show variables like 'datadir';
516
show variables like 'tmpdir';
520
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your Drizzle server version for the right syntax to use near '""' at line 1
522
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your Drizzle server version for the right syntax to use near '&' at line 1
524
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your Drizzle server version for the right syntax to use near '@' at line 1
528
set @@hostname= "anothername";
529
ERROR HY000: Variable 'hostname' is a read only variable
530
show variables like 'hostname';
534
set global flush_time =@my_flush_time;
535
ERROR HY000: Unknown system variable 'flush_time'
536
set global max_connect_errors =@my_max_connect_errors;
537
set global max_heap_table_size =@my_max_heap_table_size;
538
set global max_join_size =@my_max_join_size;
539
set global max_write_lock_count =default;
540
set global mysql_protocol_buffer_length= @my_mysql_protocol_buffer_length;
541
set global server_id =@my_server_id;
542
set global storage_engine =@my_storage_engine;
543
set global thread_cache_size =@my_thread_cache_size;
544
ERROR HY000: Unknown system variable 'thread_cache_size'
545
set global myisam_sort_buffer_size =@my_myisam_sort_buffer_size;
546
SHOW GLOBAL VARIABLES LIKE 'max_join_size';
548
max_join_size 2147483647
549
SHOW LOCAL VARIABLES LIKE 'max_join_size';
552
set GLOBAL bulk_insert_buffer_size=DEFAULT;
553
set GLOBAL join_buffer_size=DEFAULT;
554
set GLOBAL max_allowed_packet=DEFAULT;
555
set GLOBAL max_connect_errors=DEFAULT;
556
set GLOBAL max_heap_table_size=DEFAULT;
557
set GLOBAL max_join_size=DEFAULT;
558
set GLOBAL max_sort_length=DEFAULT;
559
set GLOBAL max_write_lock_count=DEFAULT;
560
set GLOBAL myisam_sort_buffer_size=DEFAULT;
561
set GLOBAL mysql_protocol_buffer_length=DEFAULT;
562
set GLOBAL read_buffer_size=DEFAULT;
563
set GLOBAL read_rnd_buffer_size=DEFAULT;
564
set GLOBAL server_id=DEFAULT;
565
set GLOBAL sort_buffer_size=DEFAULT;
566
set GLOBAL table_open_cache=DEFAULT;
567
set GLOBAL storage_engine= @my_storage_engine;
568
set GLOBAL tmp_table_size=DEFAULT;
569
set GLOBAL tx_isolation= @my_tx_isolation;
570
set SESSION bulk_insert_buffer_size=DEFAULT;
571
set SESSION join_buffer_size=DEFAULT;
572
set SESSION max_allowed_packet=DEFAULT;
573
set SESSION max_heap_table_size=DEFAULT;
574
set SESSION max_join_size=DEFAULT;
575
set SESSION max_sort_length=DEFAULT;
576
set SESSION read_buffer_size=DEFAULT;
577
set SESSION read_rnd_buffer_size=DEFAULT;
578
set SESSION sort_buffer_size=DEFAULT;
579
set SESSION sql_big_selects=DEFAULT;
580
set SESSION sql_buffer_result=DEFAULT;
581
set SESSION sql_select_limit=DEFAULT;
582
set SESSION sql_warnings=DEFAULT;
583
set SESSION storage_engine= @my_storage_engine;
584
set SESSION tmp_table_size=DEFAULT;
585
set SESSION tx_isolation= @my_tx_isolation;
586
show global variables where variable_name='table_definition_cache' or Variable_name='table_lock_wait_timeout';
588
table_definition_cache #
589
table_lock_wait_timeout #