mirror of
https://github.com/MariaDB/server.git
synced 2025-12-07 17:42:39 +03:00
These system variables: @@character_set_client @@character_set_connection @@character_set_database @@character_set_filesystem @@character_set_results @@character_set_server can now be set in numeric format only to IDs of default collations, e.g.: SET @@character_set_xxx=9; -- OK (latin2_general_ci is default) SET @@character_set_xxx=2; -- ERROR (latin2_czech_cs is not default) SET @@character_set_xxx=21; -- ERROR (latin2_hungarian_ci is not default) Before this change the server accepted IDs of non-default collations so all three examples above worked without errors, but this could lead to unexpected behavior in later statements.
491 lines
16 KiB
Plaintext
491 lines
16 KiB
Plaintext
SET @global_start_value = @@global.character_set_server;
|
|
SET @@global.character_set_server=@@character_set_client;
|
|
SELECT @@global.character_set_server;
|
|
@@global.character_set_server
|
|
latin1
|
|
SET @session_start_value = @@character_set_server;
|
|
SELECT @session_start_value;
|
|
@session_start_value
|
|
latin1
|
|
SET @session_start_value = @@local.character_set_server;
|
|
SELECT @session_start_value;
|
|
@session_start_value
|
|
latin1
|
|
SET @session_start_value = @@session.character_set_server;
|
|
SELECT @session_start_value;
|
|
@session_start_value
|
|
latin1
|
|
'#--------------------FN_DYNVARS_009_01------------------#'
|
|
SELECT character_set_server;
|
|
ERROR 42S22: Unknown column 'character_set_server' in 'field list'
|
|
SET character_set_server=utf8;
|
|
SELECT @@session.character_set_server;
|
|
@@session.character_set_server
|
|
utf8mb3
|
|
SET session character_set_server=utf8;
|
|
SELECT session character_set_server;
|
|
ERROR 42S22: Unknown column 'session' in 'field list'
|
|
SET global character_set_server=utf8;
|
|
SELECT global character_set_server;
|
|
ERROR 42S22: Unknown column 'global' in 'field list'
|
|
SET @@character_set_server = null;
|
|
ERROR 42000: Variable 'character_set_server' can't be set to the value of 'NULL'
|
|
'#--------------------FN_DYNVARS_009_02-------------------------#'
|
|
SET @@character_set_server = latin5;
|
|
SET @@character_set_server = DEFAULT;
|
|
SELECT @@character_set_server = @@global.character_set_server;
|
|
@@character_set_server = @@global.character_set_server
|
|
1
|
|
SET @@global.character_set_server = latin5;
|
|
SET @@global.character_set_server = DEFAULT;
|
|
SELECT @@global.character_set_server = @global_start_value;
|
|
@@global.character_set_server = @global_start_value
|
|
1
|
|
'#--------------------FN_DYNVARS_009_03-------------------------#'
|
|
SET @@session.character_set_server = utf8;
|
|
SELECT @@session.character_set_server;
|
|
@@session.character_set_server
|
|
utf8mb3
|
|
SET @@global.character_set_server = latin2;
|
|
SELECT @@global.character_set_server;
|
|
@@global.character_set_server
|
|
latin2
|
|
SELECT @@session.character_set_server AS res_is_utf8;
|
|
res_is_utf8
|
|
utf8mb3
|
|
SET @@session.character_set_server = latin5;
|
|
SELECT @@session.character_set_server;
|
|
@@session.character_set_server
|
|
latin5
|
|
SELECT @@global.character_set_server AS res_is_latin2;
|
|
res_is_latin2
|
|
latin2
|
|
SELECT @@global.character_set_server=@@session.character_set_server
|
|
AS res_is_false;
|
|
res_is_false
|
|
0
|
|
'#--------------------FN_DYNVARS_009_04-------------------------#'
|
|
SELECT @@character_set_server = @@session.character_set_server AS res;
|
|
res
|
|
1
|
|
SELECT @@character_set_server = @@local.character_set_server AS res;
|
|
res
|
|
1
|
|
'#--------------------FN_DYNVARS_009_05-------------------------#'
|
|
SET @@character_set_server = utf8 + latin2;
|
|
ERROR 42S22: Unknown column 'utf8' in 'field list'
|
|
'#--------------------FN_DYNVARS_009_06-------------------------#'
|
|
SET @@session.character_set_server = big5;
|
|
SELECT @@session.character_set_server;
|
|
@@session.character_set_server
|
|
big5
|
|
SET @@session.character_set_server = dec8;
|
|
SELECT @@session.character_set_server;
|
|
@@session.character_set_server
|
|
dec8
|
|
SET @@session.character_set_server = cp850;
|
|
SELECT @@session.character_set_server;
|
|
@@session.character_set_server
|
|
cp850
|
|
SET @@session.character_set_server = hp8;
|
|
SELECT @@session.character_set_server;
|
|
@@session.character_set_server
|
|
hp8
|
|
SET @@session.character_set_server = koi8r;
|
|
SELECT @@session.character_set_server;
|
|
@@session.character_set_server
|
|
koi8r
|
|
SET @@session.character_set_server = latin1;
|
|
SELECT @@session.character_set_server;
|
|
@@session.character_set_server
|
|
latin1
|
|
SET @@session.character_set_server = latin2;
|
|
SELECT @@session.character_set_server;
|
|
@@session.character_set_server
|
|
latin2
|
|
SET @@session.character_set_server = swe7;
|
|
SELECT @@session.character_set_server;
|
|
@@session.character_set_server
|
|
swe7
|
|
SET @@session.character_set_server = ascii;
|
|
SELECT @@session.character_set_server;
|
|
@@session.character_set_server
|
|
ascii
|
|
SET @@session.character_set_server = ujis;
|
|
SELECT @@session.character_set_server;
|
|
@@session.character_set_server
|
|
ujis
|
|
SET @@session.character_set_server = sjis;
|
|
SELECT @@session.character_set_server;
|
|
@@session.character_set_server
|
|
sjis
|
|
SET @@session.character_set_server = hebrew;
|
|
SELECT @@session.character_set_server;
|
|
@@session.character_set_server
|
|
hebrew
|
|
SET @@session.character_set_server = tis620;
|
|
SELECT @@session.character_set_server;
|
|
@@session.character_set_server
|
|
tis620
|
|
SET @@session.character_set_server = euckr;
|
|
SELECT @@session.character_set_server;
|
|
@@session.character_set_server
|
|
euckr
|
|
SET @@session.character_set_server = koi8u;
|
|
SELECT @@session.character_set_server;
|
|
@@session.character_set_server
|
|
koi8u
|
|
SET @@session.character_set_server = gb2312;
|
|
SELECT @@session.character_set_server;
|
|
@@session.character_set_server
|
|
gb2312
|
|
SET @@session.character_set_server = greek;
|
|
SELECT @@session.character_set_server;
|
|
@@session.character_set_server
|
|
greek
|
|
SET @@session.character_set_server = cp1250;
|
|
SELECT @@session.character_set_server;
|
|
@@session.character_set_server
|
|
cp1250
|
|
SET @@session.character_set_server = gbk;
|
|
SELECT @@session.character_set_server;
|
|
@@session.character_set_server
|
|
gbk
|
|
SET @@session.character_set_server = latin5;
|
|
SELECT @@session.character_set_server;
|
|
@@session.character_set_server
|
|
latin5
|
|
SET @@session.character_set_server = armscii8;
|
|
SELECT @@session.character_set_server;
|
|
@@session.character_set_server
|
|
armscii8
|
|
SET @@session.character_set_server = utf8;
|
|
SELECT @@session.character_set_server;
|
|
@@session.character_set_server
|
|
utf8mb3
|
|
SET @@session.character_set_server = ucs2;
|
|
SELECT @@session.character_set_server;
|
|
@@session.character_set_server
|
|
ucs2
|
|
SET @@session.character_set_server = cp866;
|
|
SELECT @@session.character_set_server;
|
|
@@session.character_set_server
|
|
cp866
|
|
SET @@session.character_set_server = keybcs2;
|
|
SELECT @@session.character_set_server;
|
|
@@session.character_set_server
|
|
keybcs2
|
|
SET @@session.character_set_server = macce;
|
|
SELECT @@session.character_set_server;
|
|
@@session.character_set_server
|
|
macce
|
|
SET @@session.character_set_server = macroman;
|
|
SELECT @@session.character_set_server;
|
|
@@session.character_set_server
|
|
macroman
|
|
SET @@session.character_set_server = cp852;
|
|
SELECT @@session.character_set_server;
|
|
@@session.character_set_server
|
|
cp852
|
|
SET @@session.character_set_server = latin7;
|
|
SELECT @@session.character_set_server;
|
|
@@session.character_set_server
|
|
latin7
|
|
SET @@session.character_set_server = cp1251;
|
|
SELECT @@session.character_set_server;
|
|
@@session.character_set_server
|
|
cp1251
|
|
SET @@session.character_set_server = cp1256;
|
|
SELECT @@session.character_set_server;
|
|
@@session.character_set_server
|
|
cp1256
|
|
SET @@session.character_set_server = cp1257;
|
|
SELECT @@session.character_set_server;
|
|
@@session.character_set_server
|
|
cp1257
|
|
SET @@session.character_set_server = binary;
|
|
SELECT @@session.character_set_server;
|
|
@@session.character_set_server
|
|
binary
|
|
SET @@session.character_set_server = geostd8;
|
|
SELECT @@session.character_set_server;
|
|
@@session.character_set_server
|
|
geostd8
|
|
SET @@session.character_set_server = cp932;
|
|
SELECT @@session.character_set_server;
|
|
@@session.character_set_server
|
|
cp932
|
|
SET @@session.character_set_server = eucjpms;
|
|
SELECT @@session.character_set_server;
|
|
@@session.character_set_server
|
|
eucjpms
|
|
'#--------------------FN_DYNVARS_009_07-------------------------#'
|
|
SET @@global.character_set_server = big5;
|
|
SELECT @@global.character_set_server;
|
|
@@global.character_set_server
|
|
big5
|
|
SET @@global.character_set_server = dec8;
|
|
SELECT @@global.character_set_server;
|
|
@@global.character_set_server
|
|
dec8
|
|
SET @@global.character_set_server = cp850;
|
|
SELECT @@global.character_set_server;
|
|
@@global.character_set_server
|
|
cp850
|
|
SET @@global.character_set_server = hp8;
|
|
SELECT @@global.character_set_server;
|
|
@@global.character_set_server
|
|
hp8
|
|
SET @@global.character_set_server = koi8r;
|
|
SELECT @@global.character_set_server;
|
|
@@global.character_set_server
|
|
koi8r
|
|
SET @@global.character_set_server = latin1;
|
|
SELECT @@global.character_set_server;
|
|
@@global.character_set_server
|
|
latin1
|
|
SET @@global.character_set_server = latin2;
|
|
SELECT @@global.character_set_server;
|
|
@@global.character_set_server
|
|
latin2
|
|
SET @@global.character_set_server = swe7;
|
|
SELECT @@global.character_set_server;
|
|
@@global.character_set_server
|
|
swe7
|
|
SET @@global.character_set_server = ascii;
|
|
SELECT @@global.character_set_server;
|
|
@@global.character_set_server
|
|
ascii
|
|
SET @@global.character_set_server = ujis;
|
|
SELECT @@global.character_set_server;
|
|
@@global.character_set_server
|
|
ujis
|
|
SET @@global.character_set_server = sjis;
|
|
SELECT @@global.character_set_server;
|
|
@@global.character_set_server
|
|
sjis
|
|
SET @@global.character_set_server = hebrew;
|
|
SELECT @@global.character_set_server;
|
|
@@global.character_set_server
|
|
hebrew
|
|
SET @@global.character_set_server = tis620;
|
|
SELECT @@global.character_set_server;
|
|
@@global.character_set_server
|
|
tis620
|
|
SET @@global.character_set_server = euckr;
|
|
SELECT @@global.character_set_server;
|
|
@@global.character_set_server
|
|
euckr
|
|
SET @@global.character_set_server = koi8u;
|
|
SELECT @@global.character_set_server;
|
|
@@global.character_set_server
|
|
koi8u
|
|
SET @@global.character_set_server = gb2312;
|
|
SELECT @@global.character_set_server;
|
|
@@global.character_set_server
|
|
gb2312
|
|
SET @@global.character_set_server = greek;
|
|
SELECT @@global.character_set_server;
|
|
@@global.character_set_server
|
|
greek
|
|
SET @@global.character_set_server = cp1250;
|
|
SELECT @@global.character_set_server;
|
|
@@global.character_set_server
|
|
cp1250
|
|
SET @@global.character_set_server = gbk;
|
|
SELECT @@global.character_set_server;
|
|
@@global.character_set_server
|
|
gbk
|
|
SET @@global.character_set_server = latin5;
|
|
SELECT @@global.character_set_server;
|
|
@@global.character_set_server
|
|
latin5
|
|
SET @@global.character_set_server = armscii8;
|
|
SELECT @@global.character_set_server;
|
|
@@global.character_set_server
|
|
armscii8
|
|
SET @@global.character_set_server = utf8;
|
|
SELECT @@global.character_set_server;
|
|
@@global.character_set_server
|
|
utf8mb3
|
|
SET @@global.character_set_server = ucs2;
|
|
SELECT @@global.character_set_server;
|
|
@@global.character_set_server
|
|
ucs2
|
|
SET @@global.character_set_server = cp866;
|
|
SELECT @@global.character_set_server;
|
|
@@global.character_set_server
|
|
cp866
|
|
SET @@global.character_set_server = keybcs2;
|
|
SELECT @@global.character_set_server;
|
|
@@global.character_set_server
|
|
keybcs2
|
|
SET @@global.character_set_server = macce;
|
|
SELECT @@global.character_set_server;
|
|
@@global.character_set_server
|
|
macce
|
|
SET @@global.character_set_server = macroman;
|
|
SELECT @@global.character_set_server;
|
|
@@global.character_set_server
|
|
macroman
|
|
SET @@global.character_set_server = cp852;
|
|
SELECT @@global.character_set_server;
|
|
@@global.character_set_server
|
|
cp852
|
|
SET @@global.character_set_server = latin7;
|
|
SELECT @@global.character_set_server;
|
|
@@global.character_set_server
|
|
latin7
|
|
SET @@global.character_set_server = cp1251;
|
|
SELECT @@global.character_set_server;
|
|
@@global.character_set_server
|
|
cp1251
|
|
SET @@global.character_set_server = cp1256;
|
|
SELECT @@global.character_set_server;
|
|
@@global.character_set_server
|
|
cp1256
|
|
SET @@global.character_set_server = cp1257;
|
|
SELECT @@global.character_set_server;
|
|
@@global.character_set_server
|
|
cp1257
|
|
SET @@global.character_set_server = binary;
|
|
SELECT @@global.character_set_server;
|
|
@@global.character_set_server
|
|
binary
|
|
SET @@global.character_set_server = geostd8;
|
|
SELECT @@global.character_set_server;
|
|
@@global.character_set_server
|
|
geostd8
|
|
SET @@global.character_set_server = cp932;
|
|
SELECT @@global.character_set_server;
|
|
@@global.character_set_server
|
|
cp932
|
|
SET @@global.character_set_server = eucjpms;
|
|
SELECT @@global.character_set_server;
|
|
@@global.character_set_server
|
|
eucjpms
|
|
'#--------------------FN_DYNVARS_009_08-------------------------#'
|
|
SET @@character_set_server = UTF8;
|
|
SELECT @@character_set_server;
|
|
@@character_set_server
|
|
utf8mb3
|
|
SET @@character_set_server = utf8;
|
|
SELECT @@character_set_server;
|
|
@@character_set_server
|
|
utf8mb3
|
|
SET @@global.character_set_server = uTf8;
|
|
SELECT @@global.character_set_server;
|
|
@@global.character_set_server
|
|
utf8mb3
|
|
'#--------------------FN_DYNVARS_009_09-------------------------#'
|
|
SET @@character_set_server = 1;
|
|
SELECT @@character_set_server;
|
|
@@character_set_server
|
|
big5
|
|
# latin2_czech_cs is not a default collation
|
|
SET @@character_set_server = 2;
|
|
ERROR 42000: Unknown character set: '2'
|
|
SET @@character_set_server = 3;
|
|
SELECT @@character_set_server;
|
|
@@character_set_server
|
|
dec8
|
|
SET @@character_set_server = 36;
|
|
SELECT @@character_set_server;
|
|
@@character_set_server
|
|
cp866
|
|
# cp1250_polish_ci is not a default collation
|
|
SET @@character_set_server = 99;
|
|
ERROR 42000: Unknown character set: '99'
|
|
# Collation ID 100 does not exist
|
|
SET @@character_set_server = 100;
|
|
ERROR 42000: Unknown character set: '100'
|
|
SET @@global.character_set_server = 1;
|
|
SELECT @@global.character_set_server;
|
|
@@global.character_set_server
|
|
big5
|
|
# latin2_czech_cs is not a default collation
|
|
SET @@global.character_set_server = 2;
|
|
ERROR 42000: Unknown character set: '2'
|
|
SET @@global.character_set_server = 36;
|
|
SELECT @@global.character_set_server;
|
|
@@global.character_set_server
|
|
cp866
|
|
# cp1250_polish_ci is not a default collation
|
|
SET @@global.character_set_server = 99;
|
|
ERROR 42000: Unknown character set: '99'
|
|
# Collation ID 100 does not exist
|
|
SET @@global.character_set_server = 100;
|
|
ERROR 42000: Unknown character set: '100'
|
|
'#--------------------FN_DYNVARS_009_10-------------------------#'
|
|
SET @@character_set_server = abc;
|
|
ERROR 42000: Unknown character set: 'abc'
|
|
SET @@character_set_server = 1utf8;
|
|
ERROR 42000: Unknown character set: '1utf8'
|
|
SET @@character_set_server = 0;
|
|
ERROR 42000: Unknown character set: '0'
|
|
SET @@character_set_server = 1.1;
|
|
ERROR 42000: Incorrect argument type to variable 'character_set_server'
|
|
SET @@character_set_server = -1;
|
|
ERROR 42000: Unknown character set: '-1'
|
|
SET @@character_set_server = '';
|
|
ERROR 42000: Unknown character set: ''
|
|
SET @@character_set_server = 'utf';
|
|
ERROR 42000: Unknown character set: 'utf'
|
|
SET @@character_set_server = true;
|
|
SELECT @@character_set_server AS res_with_true;
|
|
res_with_true
|
|
big5
|
|
SET @@character_set_server = ON;
|
|
ERROR 42000: Unknown character set: 'ON'
|
|
'#--------------------FN_DYNVARS_009_11-------------------------#'
|
|
SET @@global.character_set_server = abc;
|
|
ERROR 42000: Unknown character set: 'abc'
|
|
SET @@global.character_set_server = 1utf8;
|
|
ERROR 42000: Unknown character set: '1utf8'
|
|
SET @@global.character_set_server = 0;
|
|
ERROR 42000: Unknown character set: '0'
|
|
SET @@global.character_set_server = 1.1;
|
|
ERROR 42000: Incorrect argument type to variable 'character_set_server'
|
|
SET @@global.character_set_server = -1;
|
|
ERROR 42000: Unknown character set: '-1'
|
|
SET @@global.character_set_server = '';
|
|
ERROR 42000: Unknown character set: ''
|
|
SET @@global.character_set_server = 'utf';
|
|
ERROR 42000: Unknown character set: 'utf'
|
|
SET @@global.character_set_server = true;
|
|
SET @@global.character_set_server = ON;
|
|
ERROR 42000: Unknown character set: 'ON'
|
|
'#--------------------FN_DYNVARS_009_12-------------------------#'
|
|
SELECT @@global.character_set_server =
|
|
(SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
|
|
WHERE VARIABLE_NAME='character_set_server') AS res;
|
|
res
|
|
1
|
|
SET @@global.character_set_server = 1;
|
|
SELECT @@global.character_set_server;
|
|
@@global.character_set_server
|
|
big5
|
|
SELECT @@global.character_set_server =
|
|
(SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
|
|
WHERE VARIABLE_NAME='character_set_server') AS res;
|
|
res
|
|
1
|
|
'#--------------------FN_DYNVARS_009_13-------------------------#'
|
|
SELECT @@character_set_server =
|
|
(SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_VARIABLES
|
|
WHERE VARIABLE_NAME='character_set_server') AS res;
|
|
res
|
|
1
|
|
SELECT @@local.character_set_server =
|
|
(SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_VARIABLES
|
|
WHERE VARIABLE_NAME='character_set_server') AS res;
|
|
res
|
|
1
|
|
SELECT @@session.character_set_server =
|
|
(SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_VARIABLES
|
|
WHERE VARIABLE_NAME='character_set_server') AS res;
|
|
res
|
|
1
|
|
SET @@global.character_set_server = @global_start_value;
|
|
SET @@session.character_set_server = @session_start_value;
|