mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
ctype_utf8.result, ctype_utf8.test, mi_key.c:
bug 4521: unique key prefix interacts poorly with utf8: fixed length key fix.
This commit is contained in:
@ -276,3 +276,26 @@ select c cb20 from t1 where c=repeat('b',20);
|
||||
cb20
|
||||
bbbbbbbbbbbbbbbbbbbb
|
||||
drop table t1;
|
||||
create table t1 (c char(3) character set utf8, unique (c(2)));
|
||||
insert into t1 values ('1'),('2'),('3'),('4'),('x'),('y'),('z');
|
||||
insert into t1 values ('a');
|
||||
insert into t1 values ('aa');
|
||||
insert into t1 values ('aaa');
|
||||
ERROR 23000: Duplicate entry 'aaa' for key 1
|
||||
insert into t1 values ('b');
|
||||
insert into t1 values ('bb');
|
||||
insert into t1 values ('bbb');
|
||||
ERROR 23000: Duplicate entry 'bbb' for key 1
|
||||
insert into t1 values ('а');
|
||||
insert into t1 values ('аа');
|
||||
insert into t1 values ('ааа');
|
||||
ERROR 23000: Duplicate entry 'ааа' for key 1
|
||||
insert into t1 values ('б');
|
||||
insert into t1 values ('бб');
|
||||
insert into t1 values ('ббб');
|
||||
ERROR 23000: Duplicate entry 'ббб' for key 1
|
||||
insert into t1 values ('ꪪ');
|
||||
insert into t1 values ('ꪪꪪ');
|
||||
insert into t1 values ('ꪪꪪꪪ');
|
||||
ERROR 23000: Duplicate entry 'ꪪꪪ' for key 1
|
||||
drop table t1;
|
||||
|
@ -187,3 +187,30 @@ select c cz from t1 where c='z';
|
||||
select c ca10 from t1 where c='aaaaaaaaaa';
|
||||
select c cb20 from t1 where c=repeat('b',20);
|
||||
drop table t1;
|
||||
|
||||
#
|
||||
# Bug 4521: unique key prefix interacts poorly with utf8
|
||||
# Check fixed length keys
|
||||
create table t1 (c char(3) character set utf8, unique (c(2)));
|
||||
insert into t1 values ('1'),('2'),('3'),('4'),('x'),('y'),('z');
|
||||
insert into t1 values ('a');
|
||||
insert into t1 values ('aa');
|
||||
--error 1062
|
||||
insert into t1 values ('aaa');
|
||||
insert into t1 values ('b');
|
||||
insert into t1 values ('bb');
|
||||
--error 1062
|
||||
insert into t1 values ('bbb');
|
||||
insert into t1 values ('а');
|
||||
insert into t1 values ('аа');
|
||||
--error 1062
|
||||
insert into t1 values ('ааа');
|
||||
insert into t1 values ('б');
|
||||
insert into t1 values ('бб');
|
||||
--error 1062
|
||||
insert into t1 values ('ббб');
|
||||
insert into t1 values ('ꪪ');
|
||||
insert into t1 values ('ꪪꪪ');
|
||||
--error 1062
|
||||
insert into t1 values ('ꪪꪪꪪ');
|
||||
drop table t1;
|
||||
|
Reference in New Issue
Block a user