diff options
author | unknown <bar@mysql.com> | 2006-03-20 16:28:25 +0400 |
---|---|---|
committer | unknown <bar@mysql.com> | 2006-03-20 16:28:25 +0400 |
commit | 83bc8c4e389305290cae4b9ed7fc89f9a348eb44 (patch) | |
tree | 8484a9d1a61ca965cfb3312a5f5e4ba4427c9eef /mysql-test | |
parent | 367442f754a97d87077c99bc5805b41da5ac7119 (diff) | |
download | mariadb-git-83bc8c4e389305290cae4b9ed7fc89f9a348eb44.tar.gz |
Bug#17374: select ... like 'A%' operator fails to find value on columuns with key
Fixed that LIKE worked case insensitively for latin2_czech_cs,
which was wrong for a case sensitive collation.
include/m_ctype.h:
Making my_wildcmp_bin public instead of static
strings/ctype-bin.c:
Making my_wildcmp_bin public instead of static
strings/ctype-czech.c:
Use my_wildcmp_bin instead of case insensitive my_wildcmp_8bit
mysql-test/include/have_latin2_ch.inc:
New BitKeeper file ``mysql-test/include/have_latin2_ch.inc''
mysql-test/r/ctype_latin2_ch.result:
New BitKeeper file ``mysql-test/r/ctype_latin2_ch.result''
mysql-test/r/have_latin2_ch.require:
New BitKeeper file ``mysql-test/r/have_latin2_ch.require''
mysql-test/t/ctype_latin2_ch.test:
New BitKeeper file ``mysql-test/t/ctype_latin2_ch.test''
Diffstat (limited to 'mysql-test')
-rw-r--r-- | mysql-test/include/have_latin2_ch.inc | 4 | ||||
-rw-r--r-- | mysql-test/r/ctype_latin2_ch.result | 30 | ||||
-rw-r--r-- | mysql-test/r/have_latin2_ch.require | 2 | ||||
-rw-r--r-- | mysql-test/t/ctype_latin2_ch.test | 30 |
4 files changed, 66 insertions, 0 deletions
diff --git a/mysql-test/include/have_latin2_ch.inc b/mysql-test/include/have_latin2_ch.inc new file mode 100644 index 00000000000..9d3ee6b341c --- /dev/null +++ b/mysql-test/include/have_latin2_ch.inc @@ -0,0 +1,4 @@ +-- require r/have_latin2_ch.require +disable_query_log; +show collation like "latin2_czech_cs"; +enable_query_log; diff --git a/mysql-test/r/ctype_latin2_ch.result b/mysql-test/r/ctype_latin2_ch.result new file mode 100644 index 00000000000..2b3765c07c4 --- /dev/null +++ b/mysql-test/r/ctype_latin2_ch.result @@ -0,0 +1,30 @@ +drop table if exists t1; +set names latin2; +select 'A' = 'a' collate latin2_czech_cs; +'A' = 'a' collate latin2_czech_cs +0 +create table t1 ( +id int(5) not null, +tt char(255) not null +) character set latin2 collate latin2_czech_cs; +insert into t1 values (1,'Aa'); +insert into t1 values (2,'Aas'); +alter table t1 add primary key aaa(tt); +select * from t1 where tt like 'Aa%'; +id tt +1 Aa +2 Aas +select * from t1 ignore index (primary) where tt like 'Aa%'; +id tt +1 Aa +2 Aas +select * from t1 where tt like '%Aa%'; +id tt +1 Aa +2 Aas +select * from t1 where tt like 'AA%'; +id tt +select * from t1 ignore index (primary) where tt like 'AA%'; +id tt +select * from t1 where tt like '%AA%'; +id tt diff --git a/mysql-test/r/have_latin2_ch.require b/mysql-test/r/have_latin2_ch.require new file mode 100644 index 00000000000..352401bbfe8 --- /dev/null +++ b/mysql-test/r/have_latin2_ch.require @@ -0,0 +1,2 @@ +Collation Charset Id Default Compiled Sortlen +latin2_czech_cs latin2 2 Yes 4 diff --git a/mysql-test/t/ctype_latin2_ch.test b/mysql-test/t/ctype_latin2_ch.test new file mode 100644 index 00000000000..626d83fa17d --- /dev/null +++ b/mysql-test/t/ctype_latin2_ch.test @@ -0,0 +1,30 @@ +-- source include/have_latin2_ch.inc + +# +# Tests with latin2_czech_cs +# +--disable_warnings +drop table if exists t1; +--enable_warnings + +# +# Bug#17374: select ... like 'A%' operator fails +# to find value on columuns with key +# +set names latin2; +select 'A' = 'a' collate latin2_czech_cs; +create table t1 ( + id int(5) not null, + tt char(255) not null +) character set latin2 collate latin2_czech_cs; +insert into t1 values (1,'Aa'); +insert into t1 values (2,'Aas'); +alter table t1 add primary key aaa(tt); +select * from t1 where tt like 'Aa%'; +select * from t1 ignore index (primary) where tt like 'Aa%'; +select * from t1 where tt like '%Aa%'; +select * from t1 where tt like 'AA%'; +select * from t1 ignore index (primary) where tt like 'AA%'; +select * from t1 where tt like '%AA%'; + +# End of 4.1 tests |