"like" did not work in some cases with character set big5
This commit is contained in:
parent
56f4840563
commit
4bff43a724
4
mysql-test/include/have_big5.inc
Normal file
4
mysql-test/include/have_big5.inc
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
-- require r/have_big5.require
|
||||||
|
disable_query_log;
|
||||||
|
show collation like "big5_chinese_ci";
|
||||||
|
enable_query_log;
|
10
mysql-test/r/ctype_big5.result
Normal file
10
mysql-test/r/ctype_big5.result
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
drop table if exists t1;
|
||||||
|
SET NAMES big5;
|
||||||
|
CREATE TABLE t1 (c CHAR(10) CHARACTER SET big5, KEY(c));
|
||||||
|
INSERT INTO t1 VALUES ('aaa'),('aaaa'),('aaaaa');
|
||||||
|
SELECT * FROM t1 WHERE c LIKE 'aaa%';
|
||||||
|
c
|
||||||
|
aaa
|
||||||
|
aaaa
|
||||||
|
aaaaa
|
||||||
|
DROP TABLE t1;
|
2
mysql-test/r/have_big5.require
Normal file
2
mysql-test/r/have_big5.require
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Collation Charset Id Default Compiled Sortlen
|
||||||
|
big5_chinese_ci big5 1 Yes Yes 1
|
18
mysql-test/t/ctype_big5.test
Normal file
18
mysql-test/t/ctype_big5.test
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
-- source include/have_big5.inc
|
||||||
|
|
||||||
|
#
|
||||||
|
# Tests with the big5 character set
|
||||||
|
#
|
||||||
|
--disable_warnings
|
||||||
|
drop table if exists t1;
|
||||||
|
--enable_warnings
|
||||||
|
|
||||||
|
SET NAMES big5;
|
||||||
|
|
||||||
|
#
|
||||||
|
# Bug 1883: LIKE did not work in some cases with a key.
|
||||||
|
#
|
||||||
|
CREATE TABLE t1 (c CHAR(10) CHARACTER SET big5, KEY(c));
|
||||||
|
INSERT INTO t1 VALUES ('aaa'),('aaaa'),('aaaaa');
|
||||||
|
SELECT * FROM t1 WHERE c LIKE 'aaa%';
|
||||||
|
DROP TABLE t1;
|
@ -377,7 +377,7 @@ static my_bool my_like_range_big5(CHARSET_INFO *cs __attribute__((unused)),
|
|||||||
*min_length= (uint) (min_str-min_org);
|
*min_length= (uint) (min_str-min_org);
|
||||||
*max_length= res_length;
|
*max_length= res_length;
|
||||||
do {
|
do {
|
||||||
*min_str++ = '\0'; /* Because if key compression */
|
*min_str++ = ' '; /* Because if key compression */
|
||||||
*max_str++ = max_sort_char;
|
*max_str++ = max_sort_char;
|
||||||
} while (min_str != min_end);
|
} while (min_str != min_end);
|
||||||
return 0;
|
return 0;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user