A follow-up for WL#5624: Collation customization improvements
The reasons for failures to initialize a user collation defined in Index.xml are now correctly reported (in SHOW WARNINGS and in the server error log) if the COLLATE clause is used with an expression, e.g.: SELECT <exrp> COLLATE <collation name> FROM t1; Previously, the failure reasons were reported only by COLLATE clauses in SET NAMES and in DDL statements, e.g.: SET NAMES utf8 COLLATE utf8_xxx_ci; CREATE TABLE t1 (a VARCHAR(1) CHARACTER SET utf8 COLLATE utf8_xxx_ci);
This commit is contained in:
parent
a9240dce9e
commit
ce069b1f6b
@ -769,6 +769,12 @@ SHOW WARNINGS;
|
|||||||
Level Code Message
|
Level Code Message
|
||||||
Error 1273 Unknown collation: 'utf8_5624_2'
|
Error 1273 Unknown collation: 'utf8_5624_2'
|
||||||
Warning 1273 Syntax error at '[strength tertiary]'
|
Warning 1273 Syntax error at '[strength tertiary]'
|
||||||
|
SELECT _utf8'test' COLLATE utf8_5624_2;
|
||||||
|
ERROR HY000: Unknown collation: 'utf8_5624_2'
|
||||||
|
SHOW WARNINGS;
|
||||||
|
Level Code Message
|
||||||
|
Error 1273 Unknown collation: 'utf8_5624_2'
|
||||||
|
Warning 1273 Syntax error at '[strength tertiary]'
|
||||||
#
|
#
|
||||||
# WL#5624, reset before primary ignorable
|
# WL#5624, reset before primary ignorable
|
||||||
#
|
#
|
||||||
@ -1086,4 +1092,4 @@ DROP TABLE t1;
|
|||||||
# Bug#14197426 PARSE ERRORS IN LOADABLE UCA / LDML COLLATIONS ARE SILENTLY IGNORED
|
# Bug#14197426 PARSE ERRORS IN LOADABLE UCA / LDML COLLATIONS ARE SILENTLY IGNORED
|
||||||
#
|
#
|
||||||
# Search for occurrences of [ERROR] Syntax error at '[strength tertiary]'
|
# Search for occurrences of [ERROR] Syntax error at '[strength tertiary]'
|
||||||
Occurances : 1
|
Occurances : 2
|
||||||
|
@ -249,6 +249,10 @@ DROP TABLE t1;
|
|||||||
SET NAMES utf8 COLLATE utf8_5624_2;
|
SET NAMES utf8 COLLATE utf8_5624_2;
|
||||||
SHOW WARNINGS;
|
SHOW WARNINGS;
|
||||||
|
|
||||||
|
--error ER_UNKNOWN_COLLATION
|
||||||
|
SELECT _utf8'test' COLLATE utf8_5624_2;
|
||||||
|
SHOW WARNINGS;
|
||||||
|
|
||||||
--echo #
|
--echo #
|
||||||
--echo # WL#5624, reset before primary ignorable
|
--echo # WL#5624, reset before primary ignorable
|
||||||
--echo #
|
--echo #
|
||||||
@ -353,7 +357,7 @@ DROP TABLE t1;
|
|||||||
--let $out_file= $MYSQLTEST_VARDIR/tmp/ctype_ldml_log.err
|
--let $out_file= $MYSQLTEST_VARDIR/tmp/ctype_ldml_log.err
|
||||||
--let OUTF= $out_file
|
--let OUTF= $out_file
|
||||||
# Error messages are not seen in error log in embedded version
|
# Error messages are not seen in error log in embedded version
|
||||||
--let EMBEDDED=`SELECT version() LIKE '%embedded%'`
|
--let EMBEDDED=`SELECT IF(version() LIKE '%embedded%',2,0)`
|
||||||
--echo # Search for occurrences of [ERROR] Syntax error at '[strength tertiary]'
|
--echo # Search for occurrences of [ERROR] Syntax error at '[strength tertiary]'
|
||||||
|
|
||||||
perl;
|
perl;
|
||||||
|
@ -3463,11 +3463,8 @@ void Item_func_set_collation::fix_length_and_dec()
|
|||||||
MY_CS_BINSORT,MYF(0));
|
MY_CS_BINSORT,MYF(0));
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (!(set_collation= get_charset_by_name(colname,MYF(0))))
|
if (!(set_collation= mysqld_collation_get_by_name(colname)))
|
||||||
{
|
|
||||||
my_error(ER_UNKNOWN_COLLATION, MYF(0), colname);
|
|
||||||
return;
|
return;
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!set_collation ||
|
if (!set_collation ||
|
||||||
|
Loading…
x
Reference in New Issue
Block a user