1
SET @global_start_value = @@global.sql_mode;
2
SELECT @global_start_value;
5
SET @session_start_value = @@session.sql_mode;
6
SELECT @session_start_value;
9
'#--------------------FN_DYNVARS_152_01------------------------#'
10
SET @@global.sql_mode = ANSI;
11
SET @@global.sql_mode = DEFAULT;
12
SELECT @@global.sql_mode;
15
SET @@session.sql_mode = ANSI;
16
SET @@session.sql_mode = DEFAULT;
17
SELECT @@session.sql_mode;
20
'Bug# 34876: Default values for both session and global sql_mode is ""';
22
'#---------------------FN_DYNVARS_152_02-------------------------#'
23
SET @@global.sql_mode = NULL;
24
ERROR 42000: Variable 'sql_mode' can't be set to the value of 'NULL'
25
SET @@global.sql_mode = '';
26
SELECT @@global.sql_mode;
29
SET @@global.sql_mode = ' ';
30
SELECT @@global.sql_mode;
33
SET @@session.sql_mode = NULL;
34
ERROR 42000: Variable 'sql_mode' can't be set to the value of 'NULL'
35
SET @@session.sql_mode = '';
36
SELECT @@session.sql_mode;
39
SET @@session.sql_mode = ' ';
40
SELECT @@session.sql_mode;
43
'#--------------------FN_DYNVARS_152_03------------------------#'
44
'Bug: Incomplete sql modes valid values at:';
45
'http://dev.mysql.com/doc/refman/5.1/en/server-system-variables.html';
46
SET @@global.sql_mode = ANSI;
47
SELECT @@global.sql_mode;
49
REAL_AS_FLOAT,PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,ANSI
50
SET @@global.sql_mode = STRICT_TRANS_TABLES;
51
SELECT @@global.sql_mode;
54
SET @@global.sql_mode = TRADITIONAL;
55
SELECT @@global.sql_mode;
57
STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,TRADITIONAL,NO_AUTO_CREATE_USER
58
SET @@global.sql_mode = ALLOW_INVALID_DATES;
59
SELECT @@global.sql_mode;
62
SET @@global.sql_mode = ANSI_QUOTES;
63
SELECT @@global.sql_mode;
66
SET @@global.sql_mode = ERROR_FOR_DIVISION_BY_ZERO;
67
SELECT @@global.sql_mode;
69
ERROR_FOR_DIVISION_BY_ZERO
70
SET @@global.sql_mode = HIGH_NOT_PRECEDENCE;
71
SELECT @@global.sql_mode;
74
SET @@global.sql_mode = IGNORE_SPACE;
75
SELECT @@global.sql_mode;
78
SET @@global.sql_mode = NO_AUTO_CREATE_USER;
79
SELECT @@global.sql_mode;
82
SET @@global.sql_mode = NO_AUTO_VALUE_ON_ZERO;
83
SELECT @@global.sql_mode;
86
SET @@global.sql_mode = NO_BACKSLASH_ESCAPES;
87
SELECT @@global.sql_mode;
90
SET @@global.sql_mode = NO_DIR_IN_CREATE;
91
SELECT @@global.sql_mode;
94
SET @@global.sql_mode = NO_ENGINE_SUBSTITUTION;
95
SELECT @@global.sql_mode;
97
NO_ENGINE_SUBSTITUTION
98
SET @@global.sql_mode = NO_FIELD_OPTIONS;
99
SELECT @@global.sql_mode;
102
SET @@global.sql_mode = NO_KEY_OPTIONS;
103
SELECT @@global.sql_mode;
106
SET @@global.sql_mode = NO_TABLE_OPTIONS;
107
SELECT @@global.sql_mode;
110
SET @@global.sql_mode = NO_UNSIGNED_SUBTRACTION;
111
SELECT @@global.sql_mode;
113
NO_UNSIGNED_SUBTRACTION
114
SET @@global.sql_mode = NO_ZERO_DATE;
115
SELECT @@global.sql_mode;
118
SET @@global.sql_mode = NO_ZERO_IN_DATE;
119
SELECT @@global.sql_mode;
122
SET @@global.sql_mode = ONLY_FULL_GROUP_BY;
123
SELECT @@global.sql_mode;
126
SET @@global.sql_mode = PIPES_AS_CONCAT;
127
SELECT @@global.sql_mode;
130
SET @@global.sql_mode = REAL_AS_FLOAT;
131
SELECT @@global.sql_mode;
134
SET @@global.sql_mode = STRICT_ALL_TABLES;
135
SELECT @@global.sql_mode;
138
SET @@global.sql_mode = STRICT_TRANS_TABLES;
139
SELECT @@global.sql_mode;
142
SET @@global.sql_mode = DB2;
143
SELECT @@global.sql_mode;
145
PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,DB2,NO_KEY_OPTIONS,NO_TABLE_OPTIONS,NO_FIELD_OPTIONS
146
SET @@global.sql_mode = MAXDB;
147
SELECT @@global.sql_mode;
149
PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,MAXDB,NO_KEY_OPTIONS,NO_TABLE_OPTIONS,NO_FIELD_OPTIONS,NO_AUTO_CREATE_USER
150
SET @@global.sql_mode = MSSQL;
151
SELECT @@global.sql_mode;
153
PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,MSSQL,NO_KEY_OPTIONS,NO_TABLE_OPTIONS,NO_FIELD_OPTIONS
154
SET @@global.sql_mode = MYSQL323;
155
SELECT @@global.sql_mode;
157
MYSQL323,HIGH_NOT_PRECEDENCE
158
SET @@global.sql_mode = MYSQL40;
159
SELECT @@global.sql_mode;
161
MYSQL40,HIGH_NOT_PRECEDENCE
162
SET @@global.sql_mode = ORACLE;
163
SELECT @@global.sql_mode;
165
PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,ORACLE,NO_KEY_OPTIONS,NO_TABLE_OPTIONS,NO_FIELD_OPTIONS,NO_AUTO_CREATE_USER
166
SET @@global.sql_mode = POSTGRESQL;
167
SELECT @@global.sql_mode;
169
PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,POSTGRESQL,NO_KEY_OPTIONS,NO_TABLE_OPTIONS,NO_FIELD_OPTIONS
170
SET @@global.sql_mode = TRADITIONAL;
171
SELECT @@global.sql_mode;
173
STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,TRADITIONAL,NO_AUTO_CREATE_USER
174
SET @@global.sql_mode = OFF;
175
ERROR 42000: Variable 'sql_mode' can't be set to the value of 'OFF'
176
'Bug: OFF is documented as an sql mode but infact it is not';
177
SET @@session.sql_mode = ANSI;
178
SELECT @@session.sql_mode;
180
REAL_AS_FLOAT,PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,ANSI
181
SET @@session.sql_mode = STRICT_TRANS_TABLES;
182
SELECT @@session.sql_mode;
185
SET @@session.sql_mode = TRADITIONAL;
186
SELECT @@session.sql_mode;
188
STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,TRADITIONAL,NO_AUTO_CREATE_USER
189
SET @@session.sql_mode = ALLOW_INVALID_DATES;
190
SELECT @@session.sql_mode;
193
SET @@session.sql_mode = ANSI_QUOTES;
194
SELECT @@session.sql_mode;
197
SET @@session.sql_mode = ERROR_FOR_DIVISION_BY_ZERO;
198
SELECT @@session.sql_mode;
200
ERROR_FOR_DIVISION_BY_ZERO
201
SET @@session.sql_mode = HIGH_NOT_PRECEDENCE;
202
SELECT @@session.sql_mode;
205
SET @@session.sql_mode = IGNORE_SPACE;
206
SELECT @@session.sql_mode;
209
SET @@session.sql_mode = NO_AUTO_CREATE_USER;
210
SELECT @@session.sql_mode;
213
SET @@session.sql_mode = NO_AUTO_VALUE_ON_ZERO;
214
SELECT @@session.sql_mode;
216
NO_AUTO_VALUE_ON_ZERO
217
SET @@session.sql_mode = NO_BACKSLASH_ESCAPES;
218
SELECT @@session.sql_mode;
221
SET @@session.sql_mode = NO_DIR_IN_CREATE;
222
SELECT @@session.sql_mode;
225
SET @@session.sql_mode = NO_ENGINE_SUBSTITUTION;
226
SELECT @@session.sql_mode;
228
NO_ENGINE_SUBSTITUTION
229
SET @@session.sql_mode = NO_FIELD_OPTIONS;
230
SELECT @@session.sql_mode;
233
SET @@session.sql_mode = NO_KEY_OPTIONS;
234
SELECT @@session.sql_mode;
237
SET @@session.sql_mode = NO_TABLE_OPTIONS;
238
SELECT @@session.sql_mode;
241
SET @@session.sql_mode = NO_UNSIGNED_SUBTRACTION;
242
SELECT @@session.sql_mode;
244
NO_UNSIGNED_SUBTRACTION
245
SET @@session.sql_mode = NO_ZERO_DATE;
246
SELECT @@session.sql_mode;
249
SET @@session.sql_mode = NO_ZERO_IN_DATE;
250
SELECT @@session.sql_mode;
253
SET @@session.sql_mode = ONLY_FULL_GROUP_BY;
254
SELECT @@session.sql_mode;
257
SET @@session.sql_mode = PIPES_AS_CONCAT;
258
SELECT @@session.sql_mode;
261
SET @@session.sql_mode = REAL_AS_FLOAT;
262
SELECT @@session.sql_mode;
265
SET @@session.sql_mode = STRICT_ALL_TABLES;
266
SELECT @@session.sql_mode;
269
SET @@session.sql_mode = STRICT_TRANS_TABLES;
270
SELECT @@session.sql_mode;
273
SET @@session.sql_mode = DB2;
274
SELECT @@session.sql_mode;
276
PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,DB2,NO_KEY_OPTIONS,NO_TABLE_OPTIONS,NO_FIELD_OPTIONS
277
SET @@session.sql_mode = MAXDB;
278
SELECT @@session.sql_mode;
280
PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,MAXDB,NO_KEY_OPTIONS,NO_TABLE_OPTIONS,NO_FIELD_OPTIONS,NO_AUTO_CREATE_USER
281
SET @@session.sql_mode = MSSQL;
282
SELECT @@session.sql_mode;
284
PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,MSSQL,NO_KEY_OPTIONS,NO_TABLE_OPTIONS,NO_FIELD_OPTIONS
285
SET @@session.sql_mode = MYSQL323;
286
SELECT @@session.sql_mode;
288
MYSQL323,HIGH_NOT_PRECEDENCE
289
SET @@session.sql_mode = MYSQL40;
290
SELECT @@session.sql_mode;
292
MYSQL40,HIGH_NOT_PRECEDENCE
293
SET @@session.sql_mode = ORACLE;
294
SELECT @@session.sql_mode;
296
PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,ORACLE,NO_KEY_OPTIONS,NO_TABLE_OPTIONS,NO_FIELD_OPTIONS,NO_AUTO_CREATE_USER
297
SET @@session.sql_mode = POSTGRESQL;
298
SELECT @@session.sql_mode;
300
PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,POSTGRESQL,NO_KEY_OPTIONS,NO_TABLE_OPTIONS,NO_FIELD_OPTIONS
301
SET @@session.sql_mode = TRADITIONAL;
302
SELECT @@session.sql_mode;
304
STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,TRADITIONAL,NO_AUTO_CREATE_USER
305
SET @@session.sql_mode = OFF;
306
ERROR 42000: Variable 'sql_mode' can't be set to the value of 'OFF'
307
SET @@global.sql_mode = '?';
308
SELECT @@global.sql_mode;
311
SET @@session.sql_mode = '?';
312
SELECT @@session.sql_mode;
315
'Bug# 34834: ? is acceptable as a valid sql mode.'
316
'#--------------------FN_DYNVARS_152_04-------------------------#'
317
SET @@global.sql_mode = -1;
318
ERROR 42000: Variable 'sql_mode' can't be set to the value of '-1'
319
SET @@global.sql_mode = ASCII;
320
ERROR 42000: Variable 'sql_mode' can't be set to the value of 'ASCII'
321
SET @@global.sql_mode = NON_TRADITIONAL;
322
ERROR 42000: Variable 'sql_mode' can't be set to the value of 'NON_TRADITIONAL'
323
SET @@global.sql_mode = 'OF';
324
ERROR 42000: Variable 'sql_mode' can't be set to the value of 'OF'
325
SET @@global.sql_mode = NONE;
326
ERROR 42000: Variable 'sql_mode' can't be set to the value of 'NONE'
327
SET @@session.sql_mode = -1;
328
ERROR 42000: Variable 'sql_mode' can't be set to the value of '-1'
329
SET @@session.sql_mode = ANSI_SINGLE_QUOTES;
330
ERROR 42000: Variable 'sql_mode' can't be set to the value of 'ANSI_SINGLE_QUOTES'
331
SET @@session.sql_mode = 'ON';
332
ERROR 42000: Variable 'sql_mode' can't be set to the value of 'ON'
333
SET @@session.sql_mode = 'OF';
334
ERROR 42000: Variable 'sql_mode' can't be set to the value of 'OF'
335
SET @@session.sql_mode = DISABLE;
336
ERROR 42000: Variable 'sql_mode' can't be set to the value of 'DISABLE'
337
'#-------------------FN_DYNVARS_152_05----------------------------#'
338
SELECT @@session.sql_mode = VARIABLE_VALUE
339
FROM INFORMATION_SCHEMA.SESSION_VARIABLES
340
WHERE VARIABLE_NAME='sql_mode';
341
@@session.sql_mode = VARIABLE_VALUE
343
'#----------------------FN_DYNVARS_152_06------------------------#'
344
SELECT @@global.sql_mode = VARIABLE_VALUE
345
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
346
WHERE VARIABLE_NAME='sql_mode';
347
@@global.sql_mode = VARIABLE_VALUE
349
'#---------------------FN_DYNVARS_152_07-------------------------#'
350
SET @@global.sql_mode = 0;
351
SELECT @@global.sql_mode;
354
SET @@global.sql_mode = 1;
355
SELECT @@global.sql_mode;
358
SET @@global.sql_mode = 2;
359
SELECT @@global.sql_mode;
362
SET @@global.sql_mode = 3;
363
SELECT @@global.sql_mode;
365
REAL_AS_FLOAT,PIPES_AS_CONCAT
366
SET @@global.sql_mode = 50000;
367
SELECT @@global.sql_mode;
369
PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,?,NO_UNSIGNED_SUBTRACTION,POSTGRESQL,ORACLE,NO_KEY_OPTIONS,NO_TABLE_OPTIONS,NO_FIELD_OPTIONS,NO_AUTO_CREATE_USER
370
SET @@global.sql_mode = 500000;
371
SELECT @@global.sql_mode;
373
REAL_AS_FLOAT,PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,ONLY_FULL_GROUP_BY,POSTGRESQL,NO_KEY_OPTIONS,NO_TABLE_OPTIONS,NO_FIELD_OPTIONS,MYSQL323,MYSQL40,ANSI,HIGH_NOT_PRECEDENCE
374
SET @@global.sql_mode = 4294967295;
375
SELECT @@global.sql_mode;
377
REAL_AS_FLOAT,PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,?,ONLY_FULL_GROUP_BY,NO_UNSIGNED_SUBTRACTION,NO_DIR_IN_CREATE,POSTGRESQL,ORACLE,MSSQL,DB2,MAXDB,NO_KEY_OPTIONS,NO_TABLE_OPTIONS,NO_FIELD_OPTIONS,MYSQL323,MYSQL40,ANSI,NO_AUTO_VALUE_ON_ZERO,NO_BACKSLASH_ESCAPES,STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ALLOW_INVALID_DATES,ERROR_FOR_DIVISION_BY_ZERO,TRADITIONAL,NO_AUTO_CREATE_USER,HIGH_NOT_PRECEDENCE,NO_ENGINE_SUBSTITUTION,PAD_CHAR_TO_FULL_LENGTH
378
SET @@global.sql_mode = 4294967296;
379
ERROR 42000: Variable 'sql_mode' can't be set to the value of '4294967296'
380
SET @@global.sql_mode = 0.4;
381
SELECT @@global.sql_mode;
384
SET @@global.sql_mode = 1.0;
385
SELECT @@global.sql_mode;
388
SET @@global.sql_mode = 40000.1;
389
SELECT @@global.sql_mode;
391
PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,NO_UNSIGNED_SUBTRACTION,MSSQL,DB2,MAXDB,NO_KEY_OPTIONS,NO_TABLE_OPTIONS,NO_FIELD_OPTIONS,NO_AUTO_CREATE_USER
392
SET @@global.sql_mode = 1.5;
393
SELECT @@global.sql_mode;
396
SET @@global.sql_mode = 124567.49;
397
SELECT @@global.sql_mode;
399
REAL_AS_FLOAT,PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,?,NO_DIR_IN_CREATE,ORACLE,MSSQL,NO_KEY_OPTIONS,NO_TABLE_OPTIONS,NO_FIELD_OPTIONS,MYSQL323,NO_AUTO_CREATE_USER,HIGH_NOT_PRECEDENCE
400
SET @@session.sql_mode = 50000000.5;
401
SELECT @@session.sql_mode;
403
REAL_AS_FLOAT,PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,NO_DIR_IN_CREATE,MAXDB,NO_KEY_OPTIONS,NO_TABLE_OPTIONS,NO_FIELD_OPTIONS,MYSQL40,NO_AUTO_VALUE_ON_ZERO,NO_BACKSLASH_ESCAPES,STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,ALLOW_INVALID_DATES,NO_AUTO_CREATE_USER,HIGH_NOT_PRECEDENCE
404
SET @@session.sql_mode = 4294967295.4;
405
SELECT @@session.sql_mode;
407
REAL_AS_FLOAT,PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,?,ONLY_FULL_GROUP_BY,NO_UNSIGNED_SUBTRACTION,NO_DIR_IN_CREATE,POSTGRESQL,ORACLE,MSSQL,DB2,MAXDB,NO_KEY_OPTIONS,NO_TABLE_OPTIONS,NO_FIELD_OPTIONS,MYSQL323,MYSQL40,ANSI,NO_AUTO_VALUE_ON_ZERO,NO_BACKSLASH_ESCAPES,STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ALLOW_INVALID_DATES,ERROR_FOR_DIVISION_BY_ZERO,TRADITIONAL,NO_AUTO_CREATE_USER,HIGH_NOT_PRECEDENCE,NO_ENGINE_SUBSTITUTION,PAD_CHAR_TO_FULL_LENGTH
408
'Bug: Decimal values can be used within the range [0.0-4294967295.5).';
409
'Values are rounded to numeric values as evident from outcome.';
410
'#---------------------FN_DYNVARS_152_08----------------------#'
411
SET @@global.sql_mode = TRUE;
412
SELECT @@global.sql_mode;
415
SET @@global.sql_mode = FALSE;
416
SELECT @@global.sql_mode;
419
'#---------------------FN_DYNVARS_152_09----------------------#'
420
SET sql_mode = 'ANSI';
421
SET session.sql_mode = 'ANSI';
422
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'sql_mode = 'ANSI'' at line 1
423
SET global.sql_mode = 'ANSI';
424
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'sql_mode = 'ANSI'' at line 1
425
SET session sql_mode = 1;
429
SET global sql_mode = 0;
430
SELECT @@global.sql_mode;
433
'#---------------------FN_DYNVARS_152_10----------------------#'
434
SET @@session.sql_mode = 'TRADITIONAL,ALLOW_INVALID_DATES,ANSI_QUOTES';
435
SELECT @@session.sql_mode;
437
ANSI_QUOTES,STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ALLOW_INVALID_DATES,ERROR_FOR_DIVISION_BY_ZERO,TRADITIONAL,NO_AUTO_CREATE_USER
438
SET @@global.sql_mode = 'ONLY_FULL_GROUP_BY,PIPES_AS_CONCAT,REAL_AS_FLOAT,ORACLE,POSTGRESQL';
439
SELECT @@global.sql_mode;
441
REAL_AS_FLOAT,PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,ONLY_FULL_GROUP_BY,POSTGRESQL,ORACLE,NO_KEY_OPTIONS,NO_TABLE_OPTIONS,NO_FIELD_OPTIONS,NO_AUTO_CREATE_USER
442
SET @@session.sql_mode = 'ERROR_FOR_DIVISION_BY_ZERO,HIGH_OR_PRECEDENCE,
444
ERROR 42000: Variable 'sql_mode' can't be set to the value of '
446
SET @@global.sql_mode = @global_start_value;
447
SELECT @@global.sql_mode;
450
SET @@session.sql_mode = @session_start_value;
451
SELECT @@session.sql_mode;