Bug #51976 LDML collations issue
Problem: caseup_multiply and casedn_multiply members were not initialized for a dynamic collation, so UPPER() and LOWER() functions returned empty strings. Fix: initializing the members properly. Adding tests: mysql-test/r/ctype_ldml.result mysql-test/t/ctype_ldml.test Applying the fix: mysys/charset.c
This commit is contained in:
parent
be16e48633
commit
84fc3da40f
@ -49,6 +49,15 @@ SELECT * FROM t1 WHERE LOWER(a)=LOWER('N');
|
|||||||
a
|
a
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
#
|
#
|
||||||
|
# Bug#51976 LDML collations issue (cyrillic example)
|
||||||
|
#
|
||||||
|
CREATE TABLE t1 (a VARCHAR(10) CHARACTER SET utf8 COLLATE utf8_test_ci);
|
||||||
|
INSERT INTO t1 (a) VALUES ('Hello');
|
||||||
|
SELECT a, UPPER(a), LOWER(a) FROM t1;
|
||||||
|
a UPPER(a) LOWER(a)
|
||||||
|
Hello HELLO hello
|
||||||
|
DROP TABLE t1;
|
||||||
|
#
|
||||||
# Bug#43827 Server closes connections and restarts
|
# Bug#43827 Server closes connections and restarts
|
||||||
#
|
#
|
||||||
CREATE TABLE t1 (c1 VARCHAR(10) CHARACTER SET utf8 COLLATE utf8_test_ci);
|
CREATE TABLE t1 (c1 VARCHAR(10) CHARACTER SET utf8 COLLATE utf8_test_ci);
|
||||||
|
@ -45,6 +45,14 @@ INSERT INTO t1 (a) VALUES ('hello!');
|
|||||||
SELECT * FROM t1 WHERE LOWER(a)=LOWER('N');
|
SELECT * FROM t1 WHERE LOWER(a)=LOWER('N');
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
|
|
||||||
|
--echo #
|
||||||
|
--echo # Bug#51976 LDML collations issue (cyrillic example)
|
||||||
|
--echo #
|
||||||
|
CREATE TABLE t1 (a VARCHAR(10) CHARACTER SET utf8 COLLATE utf8_test_ci);
|
||||||
|
INSERT INTO t1 (a) VALUES ('Hello');
|
||||||
|
SELECT a, UPPER(a), LOWER(a) FROM t1;
|
||||||
|
DROP TABLE t1;
|
||||||
|
|
||||||
--echo #
|
--echo #
|
||||||
--echo # Bug#43827 Server closes connections and restarts
|
--echo # Bug#43827 Server closes connections and restarts
|
||||||
--echo #
|
--echo #
|
||||||
|
@ -245,6 +245,8 @@ static int add_collation(CHARSET_INFO *cs)
|
|||||||
if (cs_copy_data(all_charsets[cs->number],cs))
|
if (cs_copy_data(all_charsets[cs->number],cs))
|
||||||
return MY_XML_ERROR;
|
return MY_XML_ERROR;
|
||||||
|
|
||||||
|
newcs->caseup_multiply= newcs->casedn_multiply= 1;
|
||||||
|
|
||||||
if (!strcmp(cs->csname,"ucs2") )
|
if (!strcmp(cs->csname,"ucs2") )
|
||||||
{
|
{
|
||||||
#if defined(HAVE_CHARSET_ucs2) && defined(HAVE_UCA_COLLATIONS)
|
#if defined(HAVE_CHARSET_ucs2) && defined(HAVE_UCA_COLLATIONS)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user