mirror of
https://github.com/MariaDB/server.git
synced 2026-01-06 05:22:24 +03:00
bug#7284: strnxfrm returns different results for equal strings
This commit is contained in:
@@ -56,3 +56,24 @@ DROP DATABASE d1;
|
||||
USE test;
|
||||
SET character_set_server= @safe_character_set_server;
|
||||
SET collation_server= @safe_collation_server;
|
||||
SET NAMES big5;
|
||||
SET collation_connection='big5_chinese_ci';
|
||||
create table t1 select repeat('a',4000) a;
|
||||
delete from t1;
|
||||
insert into t1 values ('a'), ('a '), ('a\t');
|
||||
select collation(a),hex(a) from t1 order by a;
|
||||
collation(a) hex(a)
|
||||
big5_chinese_ci 6109
|
||||
big5_chinese_ci 61
|
||||
big5_chinese_ci 6120
|
||||
drop table t1;
|
||||
SET collation_connection='big5_bin';
|
||||
create table t1 select repeat('a',4000) a;
|
||||
delete from t1;
|
||||
insert into t1 values ('a'), ('a '), ('a\t');
|
||||
select collation(a),hex(a) from t1 order by a;
|
||||
collation(a) hex(a)
|
||||
big5_bin 6109
|
||||
big5_bin 61
|
||||
big5_bin 6120
|
||||
drop table t1;
|
||||
|
||||
@@ -305,3 +305,23 @@ select 'a' regexp 'A' collate latin1_general_cs;
|
||||
select 'a' regexp 'A' collate latin1_bin;
|
||||
'a' regexp 'A' collate latin1_bin
|
||||
0
|
||||
SET collation_connection='latin1_swedish_ci';
|
||||
create table t1 select repeat('a',4000) a;
|
||||
delete from t1;
|
||||
insert into t1 values ('a'), ('a '), ('a\t');
|
||||
select collation(a),hex(a) from t1 order by a;
|
||||
collation(a) hex(a)
|
||||
latin1_swedish_ci 6109
|
||||
latin1_swedish_ci 61
|
||||
latin1_swedish_ci 6120
|
||||
drop table t1;
|
||||
SET collation_connection='latin1_bin';
|
||||
create table t1 select repeat('a',4000) a;
|
||||
delete from t1;
|
||||
insert into t1 values ('a'), ('a '), ('a\t');
|
||||
select collation(a),hex(a) from t1 order by a;
|
||||
collation(a) hex(a)
|
||||
latin1_bin 6109
|
||||
latin1_bin 61
|
||||
latin1_bin 6120
|
||||
drop table t1;
|
||||
|
||||
@@ -317,3 +317,12 @@ FIELD('ue',s1) FIELD('
|
||||
1 1 1 1
|
||||
1 1 1 1
|
||||
DROP TABLE t1;
|
||||
create table t1 select repeat('a',4000) a;
|
||||
delete from t1;
|
||||
insert into t1 values ('a'), ('a '), ('a\t');
|
||||
select collation(a),hex(a) from t1 order by a;
|
||||
collation(a) hex(a)
|
||||
latin1_german2_ci 6109
|
||||
latin1_german2_ci 61
|
||||
latin1_german2_ci 6120
|
||||
drop table t1;
|
||||
|
||||
@@ -71,3 +71,23 @@ B1
|
||||
B2
|
||||
B3
|
||||
drop table t1;
|
||||
SET collation_connection='sjis_japanese_ci';
|
||||
create table t1 select repeat('a',4000) a;
|
||||
delete from t1;
|
||||
insert into t1 values ('a'), ('a '), ('a\t');
|
||||
select collation(a),hex(a) from t1 order by a;
|
||||
collation(a) hex(a)
|
||||
sjis_japanese_ci 6109
|
||||
sjis_japanese_ci 61
|
||||
sjis_japanese_ci 6120
|
||||
drop table t1;
|
||||
SET collation_connection='sjis_bin';
|
||||
create table t1 select repeat('a',4000) a;
|
||||
delete from t1;
|
||||
insert into t1 values ('a'), ('a '), ('a\t');
|
||||
select collation(a),hex(a) from t1 order by a;
|
||||
collation(a) hex(a)
|
||||
sjis_bin 6109
|
||||
sjis_bin 61
|
||||
sjis_bin 6120
|
||||
drop table t1;
|
||||
|
||||
@@ -2937,3 +2937,23 @@ Screensaver 2 2002-01-22 491 0 519 0 0
|
||||
3 http://www.siamzone.com/download/download/000003-jasonx2(800x600).jpg Jaso
|
||||
n X Wallpapers 1 2002-05-31 579 0 1091 0 0
|
||||
DROP TABLE t1;
|
||||
SET collation_connection='tis620_thai_ci';
|
||||
create table t1 select repeat('a',4000) a;
|
||||
delete from t1;
|
||||
insert into t1 values ('a'), ('a '), ('a\t');
|
||||
select collation(a),hex(a) from t1 order by a;
|
||||
collation(a) hex(a)
|
||||
tis620_thai_ci 6109
|
||||
tis620_thai_ci 61
|
||||
tis620_thai_ci 6120
|
||||
drop table t1;
|
||||
SET collation_connection='tis620_bin';
|
||||
create table t1 select repeat('a',4000) a;
|
||||
delete from t1;
|
||||
insert into t1 values ('a'), ('a '), ('a\t');
|
||||
select collation(a),hex(a) from t1 order by a;
|
||||
collation(a) hex(a)
|
||||
tis620_bin 6109
|
||||
tis620_bin 61
|
||||
tis620_bin 6120
|
||||
drop table t1;
|
||||
|
||||
@@ -2386,3 +2386,13 @@ a 1
|
||||
b 0
|
||||
c 0
|
||||
drop table t1;
|
||||
SET collation_connection='utf8_unicode_ci';
|
||||
create table t1 select repeat('a',4000) a;
|
||||
delete from t1;
|
||||
insert into t1 values ('a'), ('a '), ('a\t');
|
||||
select collation(a),hex(a) from t1 order by a;
|
||||
collation(a) hex(a)
|
||||
utf8_unicode_ci 6109
|
||||
utf8_unicode_ci 61
|
||||
utf8_unicode_ci 6120
|
||||
drop table t1;
|
||||
|
||||
@@ -592,3 +592,24 @@ a NULL
|
||||
b NULL
|
||||
c NULL
|
||||
drop table t1;
|
||||
SET collation_connection='ucs2_general_ci';
|
||||
create table t1 select repeat('a',4000) a;
|
||||
delete from t1;
|
||||
insert into t1 values ('a'), ('a '), ('a\t');
|
||||
select collation(a),hex(a) from t1 order by a;
|
||||
collation(a) hex(a)
|
||||
ucs2_general_ci 00610009
|
||||
ucs2_general_ci 0061
|
||||
ucs2_general_ci 00610020
|
||||
drop table t1;
|
||||
SET NAMES latin1;
|
||||
SET collation_connection='ucs2_bin';
|
||||
create table t1 select repeat('a',4000) a;
|
||||
delete from t1;
|
||||
insert into t1 values ('a'), ('a '), ('a\t');
|
||||
select collation(a),hex(a) from t1 order by a;
|
||||
collation(a) hex(a)
|
||||
ucs2_bin 00610009
|
||||
ucs2_bin 0061
|
||||
ucs2_bin 00610020
|
||||
drop table t1;
|
||||
|
||||
@@ -2207,3 +2207,23 @@ F4FC
|
||||
F4FD
|
||||
F4FE
|
||||
DROP TABLE t1;
|
||||
SET collation_connection='ujis_japanese_ci';
|
||||
create table t1 select repeat('a',4000) a;
|
||||
delete from t1;
|
||||
insert into t1 values ('a'), ('a '), ('a\t');
|
||||
select collation(a),hex(a) from t1 order by a;
|
||||
collation(a) hex(a)
|
||||
ujis_japanese_ci 6109
|
||||
ujis_japanese_ci 61
|
||||
ujis_japanese_ci 6120
|
||||
drop table t1;
|
||||
SET collation_connection='ujis_bin';
|
||||
create table t1 select repeat('a',4000) a;
|
||||
delete from t1;
|
||||
insert into t1 values ('a'), ('a '), ('a\t');
|
||||
select collation(a),hex(a) from t1 order by a;
|
||||
collation(a) hex(a)
|
||||
ujis_bin 6109
|
||||
ujis_bin 61
|
||||
ujis_bin 6120
|
||||
drop table t1;
|
||||
|
||||
@@ -829,3 +829,23 @@ select * from t1 where soundex(a) = soundex('test');
|
||||
id a
|
||||
1 Test
|
||||
drop table t1;
|
||||
SET collation_connection='utf8_general_ci';
|
||||
create table t1 select repeat('a',4000) a;
|
||||
delete from t1;
|
||||
insert into t1 values ('a'), ('a '), ('a\t');
|
||||
select collation(a),hex(a) from t1 order by a;
|
||||
collation(a) hex(a)
|
||||
utf8_general_ci 6109
|
||||
utf8_general_ci 61
|
||||
utf8_general_ci 6120
|
||||
drop table t1;
|
||||
SET collation_connection='utf8_bin';
|
||||
create table t1 select repeat('a',4000) a;
|
||||
delete from t1;
|
||||
insert into t1 values ('a'), ('a '), ('a\t');
|
||||
select collation(a),hex(a) from t1 order by a;
|
||||
collation(a) hex(a)
|
||||
utf8_bin 6109
|
||||
utf8_bin 61
|
||||
utf8_bin 6120
|
||||
drop table t1;
|
||||
|
||||
Reference in New Issue
Block a user