RE: unique key and utf8
"Linus Upson" <[email protected]> Sat, 3 Jul 2004 18:47:51 -0700
| Newsgroups | gmane.comp.db.mysql.bugs |
|---|---|
| Message-ID | <005901c46168$eaff4ef0$6601a8c0@dropout> |
Many of the mysql test cases fail when I configure 4.1.3 with '--with-charset=utf8'. The symptoms are similar to the index truncation problem I reported with 4.1.1. Here is how mysql was configured: C compiler: gcc (GCC) 3.2.3 20030502 (Red Hat Linux 3.2.3-34) C++ compiler: g++ (GCC) 3.2.3 20030502 (Red Hat Linux 3.2.3-34) Environment: System: Linux seek 2.4.21-15.0.2.ELsmp #1 SMP Wed Jun 16 22:52:07 EDT 2004 i686 i686 i386 GNU/Linux Architecture: i686 ./configure --prefix=/home/linus/mysql/utf8 --with-tcp-port=8506 --with-unix-socket-path=/home/linus/mysql/utf8/tmp/mysql.sock --with-charset=utf8 The full test results from the following command are attached. $ ./mysql-test-run --force > test-utf8.txt I also tried to configure mysql using the same configure command but without the '--with-charset=utf8' option. More of the tests ran, but it eventually failed with: ... ctype_mb [ pass ] ctype_recoding [ pass ] ctype_sjis [ skipped ] ERROR: /home/linus/mysql/utf8/mysql-test/var/run/master.pid was not created in 30 seconds; Aborting I've attached the complete test output as test-default-charset.txt. Thanks, Linus -----Original Message----- From: Sergei Golubchik [mailto:[email protected]] Sent: Wednesday, June 30, 2004 2:09 PM To: Linus Upson Cc: [email protected]; [email protected] Subject: Re: unique key and utf8 Hi! On Jun 30, Linus Upson wrote: > The following was tested with MySQL 4.1.1 running on RedHat ES 3. This > message was sent in UTF-8. > > The unique key index prefix length is misleading when you use the utf8 > character set. If you specify a prefix of N characters the uniqueness > constraint appears to be enforced for the first 3*N bytes of column, > not the first N characters. Oops. I agree, it's confusing. We'll fix it. > I discovered this problem because mysql silently shortened the unique > index prefix on one of my utf8 varchar columns. When I execute the > following statement: > > CREATE TABLE `t` ( > `c` varchar(150) NOT NULL default '', > UNIQUE KEY `c` (`c`(150)) > ) TYPE=MyISAM DEFAULT CHARSET=utf8 > > there are no errors or warnings, but the result is: > > mysql> show create table t \G > *************************** 1. row *************************** > Table: t > Create Table: CREATE TABLE `t` ( > `c` varchar(150) NOT NULL default '', > UNIQUE KEY `c` (`c`(64)) > ) TYPE=MyISAM DEFAULT CHARSET=utf8 > 1 row in set (0.00 sec) > > The 150 character prefix should still fit within the 500 byte index > limit of 4.1.1 since 3 * 150 = 450, but for some reason the prefix has > been reduced to 64. I wasn't able to repeat in in MySQL 4.1.3 - index was created as expected. MySQL *never* silently truncates a UNIQUE index (if it does, it's a bug). Regards, Sergei -- __ ___ ___ ____ __ / |/ /_ __/ __/ __ \/ / Sergei Golubchik <[email protected]> / /|_/ / // /\ \/ /_/ / /__ MySQL AB, Senior Software Developer /_/ /_/\_, /___/\___\_\___/ Osnabrueck, Germany <___/ www.mysql.com -- MySQL Bugs Mailing List For list archives: http://lists.mysql.com/bugs To unsubscribe: http://lists.mysql.com/[email protected]
test-utf8.txt
(text/plain, 21.6 KB)
Installing Test Databases
Removing Stale Files
Installing Master Databases
running ../libexec/mysqld --no-defaults --bootstrap --skip-grant-tables --basedir=.. --datadir=mysql-test/var/master-data --skip-innodb --skip-ndbcluster --skip-bdb
Installing Slave Databases
running ../libexec/mysqld --no-defaults --bootstrap --skip-grant-tables --basedir=.. --datadir=mysql-test/var/slave-data --skip-innodb --skip-ndbcluster --skip-bdb
Manager disabled, skipping manager start.
Loading Standard Test Databases
Starting Tests
TEST RESULT
------------------------------------------
alias [ fail ]
Errors are (from /home/linus/mysql/utf8/mysql-test/var/log/mysqltest-time) :
/home/linus/mysql/utf8/bin/mysqltest: At line 65: query 'SELECT ELT(FIELD(kundentyp,'PP','PPA','PG','PGA','FK','FKA','FP','FPA','K','KA','V','VA',''), 'Privat (Private Nutzung)','Privat (Private Nutzung) Sitz im Ausland','Privat (geschaeftliche Nutzung)','Privat (geschaeftliche Nutzung) Sitz im Ausland','Firma (Kapitalgesellschaft)','Firma (Kapitalgesellschaft) Sitz im Ausland','Firma (Personengesellschaft)','Firma (Personengesellschaft) Sitz im Ausland','oeff. rechtl. Koerperschaft','oeff. rechtl. Koerperschaft Sitz im Ausland','Eingetragener Verein','Eingetragener Verein Sitz im Ausland','Typ unbekannt') AS Kundentyp ,kategorie FROM t1 WHERE hdl_nr < 2000000 AND kategorie IN ('Prepaid','Mobilfunk') AND st_klasse = 'Workflow' GROUP BY kundentyp ORDER BY kategorie' failed: 1271: Illegal mix of collations for operation 'field'
(the last lines may be the most important ones)
Ending Tests
Shutting-down MySQL daemon
Master shutdown finished
Slave shutdown finished
Resuming Tests
alter_table [ pass ]
analyse [ fail ]
Errors are (from /home/linus/mysql/utf8/mysql-test/var/log/mysqltest-time) :
/home/linus/mysql/utf8/bin/mysqltest: At line 41: Result length mismatch
(the last lines may be the most important ones)
Below are the diffs between actual and expected results:
-------------------------------------------------------
*** r/analyse.result 2004-07-04 03:33:44.000000000 +0300
--- r/analyse.reject 2004-07-04 04:22:57.000000000 +0300
***************
*** 19,31 ****
test.t1.bool N Y 1 1 0 0 1.0000 NULL ENUM('N','Y') NOT NULL
test.t1.d 2002-03-03 2002-03-05 10 10 0 0 10.0000 NULL ENUM('2002-03-03','2002-03-04','2002-03-05') NOT NULL
create table t2 select * from t1 procedure analyse();
select * from t2;
Field_name Min_value Max_value Min_length Max_length Empties_or_zeros Nulls Avg_value_or_avg_length Std Optimal_fieldtype
! test.t1.i 1 7 1 1 0 0 4.0000 2.2361 ENUM('1','3','5','7') NOT NULL
! test.t1.j 2 8 1 1 0 0 5.0000 2.2361 ENUM('2','4','6','8') NOT NULL
test.t1.empty_string 0 0 4 0 0.0000 NULL CHAR(0) NOT NULL
test.t1.bool N Y 1 1 0 0 1.0000 NULL ENUM('N','Y') NOT NULL
! test.t1.d 2002-03-03 2002-03-05 10 10 0 0 10.0000 NULL ENUM('2002-03-03','2002-03-04','2002-03-05') NOT NULL
drop table t1,t2;
EXPLAIN SELECT 1 FROM (SELECT 1) a PROCEDURE ANALYSE();
id select_type table type possible_keys key key_len ref rows Extra
--- 19,35 ----
test.t1.bool N Y 1 1 0 0 1.0000 NULL ENUM('N','Y') NOT NULL
test.t1.d 2002-03-03 2002-03-05 10 10 0 0 10.0000 NULL ENUM('2002-03-03','2002-03-04','2002-03-05') NOT NULL
create table t2 select * from t1 procedure analyse();
+ Warnings:
+ Warning 1265 Data truncated for column 'Optimal_fieldtype' at row 4
+ Warning 1265 Data truncated for column 'Optimal_fieldtype' at row 4
+ Warning 1265 Data truncated for column 'Optimal_fieldtype' at row 4
select * from t2;
Field_name Min_value Max_value Min_length Max_length Empties_or_zeros Nulls Avg_value_or_avg_length Std Optimal_fieldtype
! test.t1.i 1 7 1 1 0 0 4.0000 2.2361 ENUM('1','3','5','7')
! test.t1.j 2 8 1 1 0 0 5.0000 2.2361 ENUM('2','4','6','8')
test.t1.empty_string 0 0 4 0 0.0000 NULL CHAR(0) NOT NULL
test.t1.bool N Y 1 1 0 0 1.0000 NULL ENUM('N','Y') NOT NULL
! test.t1.d 2002-03-03 2002-03-05 10 10 0 0 10.0000 NULL ENUM('2002-03-03','200
drop table t1,t2;
EXPLAIN SELECT 1 FROM (SELECT 1) a PROCEDURE ANALYSE();
id select_type table type possible_keys key key_len ref rows Extra
***************
*** 36,51 ****
show create table t2;
Table Create Table
t2 CREATE TABLE `t2` (
! `Field_name` char(255) NOT NULL default '',
! `Min_value` char(255) default NULL,
! `Max_value` char(255) default NULL,
`Min_length` bigint(11) NOT NULL default '0',
`Max_length` bigint(11) NOT NULL default '0',
`Empties_or_zeros` bigint(11) NOT NULL default '0',
`Nulls` bigint(11) NOT NULL default '0',
! `Avg_value_or_avg_length` char(255) NOT NULL default '',
! `Std` char(255) default NULL,
! `Optimal_fieldtype` char(64) NOT NULL default ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1
select * from t1 where 0=1 procedure analyse();
Field_name Min_value Max_value Min_length Max_length Empties_or_zeros Nulls Avg_value_or_avg_length Std Optimal_fieldtype
--- 40,55 ----
show create table t2;
Table Create Table
t2 CREATE TABLE `t2` (
! `Field_name` char(85) character set utf8 NOT NULL default '',
! `Min_value` char(85) character set utf8 default NULL,
! `Max_value` char(85) character set utf8 default NULL,
`Min_length` bigint(11) NOT NULL default '0',
`Max_length` bigint(11) NOT NULL default '0',
`Empties_or_zeros` bigint(11) NOT NULL default '0',
`Nulls` bigint(11) NOT NULL default '0',
! `Avg_value_or_avg_length` char(85) character set utf8 NOT NULL default '',
! `Std` char(85) character set utf8 default NULL,
! `Optimal_fieldtype` char(22) character set utf8 NOT NULL default ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1
select * from t1 where 0=1 procedure analyse();
Field_name Min_value Max_value Min_length Max_length Empties_or_zeros Nulls Avg_value_or_avg_length Std Optimal_fieldtype
***************
*** 55,70 ****
show create table t2;
Table Create Table
t2 CREATE TABLE `t2` (
! `Field_name` char(255) NOT NULL default '',
! `Min_value` char(255) default NULL,
! `Max_value` char(255) default NULL,
`Min_length` bigint(11) NOT NULL default '0',
`Max_length` bigint(11) NOT NULL default '0',
`Empties_or_zeros` bigint(11) NOT NULL default '0',
`Nulls` bigint(11) NOT NULL default '0',
! `Avg_value_or_avg_length` char(255) NOT NULL default '',
! `Std` char(255) default NULL,
! `Optimal_fieldtype` char(64) NOT NULL default ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1
select * from t2;
Field_name Min_value Max_value Min_length Max_length Empties_or_zeros Nulls Avg_value_or_avg_length Std Optimal_fieldtype
--- 59,74 ----
show create table t2;
Table Create Table
t2 CREATE TABLE `t2` (
! `Field_name` char(85) character set utf8 NOT NULL default '',
! `Min_value` char(85) character set utf8 default NULL,
! `Max_value` char(85) character set utf8 default NULL,
`Min_length` bigint(11) NOT NULL default '0',
`Max_length` bigint(11) NOT NULL default '0',
`Empties_or_zeros` bigint(11) NOT NULL default '0',
`Nulls` bigint(11) NOT NULL default '0',
! `Avg_value_or_avg_length` char(85) character set utf8 NOT NULL default '',
! `Std` char(85) character set utf8 default NULL,
! `Optimal_fieldtype` char(22) character set utf8 NOT NULL default ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1
select * from t2;
Field_name Min_value Max_value Min_length Max_length Empties_or_zeros Nulls Avg_value_or_avg_length Std Optimal_fieldtype
***************
*** 78,93 ****
show create table t2;
Table Create Table
t2 CREATE TABLE `t2` (
! `Field_name` char(255) NOT NULL default '',
! `Min_value` char(255) default NULL,
! `Max_value` char(255) default NULL,
`Min_length` bigint(11) NOT NULL default '0',
`Max_length` bigint(11) NOT NULL default '0',
`Empties_or_zeros` bigint(11) NOT NULL default '0',
`Nulls` bigint(11) NOT NULL default '0',
! `Avg_value_or_avg_length` char(255) NOT NULL default '',
! `Std` char(255) default NULL,
! `Optimal_fieldtype` char(64) NOT NULL default ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1
select * from t2;
Field_name Min_value Max_value Min_length Max_length Empties_or_zeros Nulls Avg_value_or_avg_length Std Optimal_fieldtype
--- 82,97 ----
show create table t2;
Table Create Table
t2 CREATE TABLE `t2` (
! `Field_name` char(85) character set utf8 NOT NULL default '',
! `Min_value` char(85) character set utf8 default NULL,
! `Max_value` char(85) character set utf8 default NULL,
`Min_length` bigint(11) NOT NULL default '0',
`Max_length` bigint(11) NOT NULL default '0',
`Empties_or_zeros` bigint(11) NOT NULL default '0',
`Nulls` bigint(11) NOT NULL default '0',
! `Avg_value_or_avg_length` char(85) character set utf8 NOT NULL default '',
! `Std` char(85) character set utf8 default NULL,
! `Optimal_fieldtype` char(22) character set utf8 NOT NULL default ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1
select * from t2;
Field_name Min_value Max_value Min_length Max_length Empties_or_zeros Nulls Avg_value_or_avg_length Std Optimal_fieldtype
-------------------------------------------------------
Please follow the instructions outlined at
http://www.mysql.com/doc/en/Reporting_mysqltest_bugs.html
to find the reason to this problem and how to report this.
Ending Tests
Shutting-down MySQL daemon
Master shutdown finished
Slave shutdown finished
Resuming Tests
ansi [ pass ]
archive [ skipped ]
auto_increment [ pass ]
backup [ pass ]
bdb-alter-table-1 [ skipped ]
bdb-alter-table-2 [ skipped ]
bdb-crash [ skipped ]
bdb-deadlock [ skipped ]
bdb [ skipped ]
bdb_cache [ skipped ]
bench_count_distinct [ pass ]
bigint [ pass ]
binary [ fail ]
Errors are (from /home/linus/mysql/utf8/mysql-test/var/log/mysqltest-time) :
/home/linus/mysql/utf8/bin/mysqltest: At line 11: query 'insert into t1 values ("ä")' failed: 1062: Duplicate entry '' for key 1
(the last lines may be the most important ones)
Ending Tests
Shutting-down MySQL daemon
Master shutdown finished
Slave shutdown finished
Resuming Tests
bool [ pass ]
bulk_replace [ pass ]
case [ fail ]
Errors are (from /home/linus/mysql/utf8/mysql-test/var/log/mysqltest-time) :
/home/linus/mysql/utf8/bin/mysqltest: At line 44: query 'select max(case col when 1 then val else null end) as color from t1 group by row' failed: 1267: Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation 'case'
(the last lines may be the most important ones)
Ending Tests
Shutting-down MySQL daemon
Master shutdown finished
Slave shutdown finished
Resuming Tests
cast [ fail ]
Errors are (from /home/linus/mysql/utf8/mysql-test/var/log/mysqltest-time) :
/home/linus/mysql/utf8/bin/mysqltest: At line 31: query 'create table t1 select cast(_koi8r'ÔÅÓÔ' as char character set cp1251) as t' failed: 1050: Table 't1' already exists
(the last lines may be the most important ones)
Ending Tests
Shutting-down MySQL daemon
Master shutdown finished
Slave shutdown finished
Resuming Tests
check [ pass ]
comments [ pass ]
compare [ fail ]
Errors are (from /home/linus/mysql/utf8/mysql-test/var/log/mysqltest-time) :
/home/linus/mysql/utf8/bin/mysqltest: At line 31: query 'SELECT hex(a),STRCMP(a,'a'), STRCMP(a,'a ') FROM t1' failed: 1267: Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation 'strcmp'
(the last lines may be the most important ones)
Ending Tests
Shutting-down MySQL daemon
Master shutdown finished
Slave shutdown finished
Resuming Tests
connect [ fail ]
Errors are (from /home/linus/mysql/utf8/mysql-test/var/log/mysqltest-time) :
/home/linus/mysql/utf8/bin/mysqltest: At line 73: Result length mismatch
(the last lines may be the most important ones)
Below are the diffs between actual and expected results:
-------------------------------------------------------
*** r/connect.result 2004-07-04 03:33:44.000000000 +0300
--- r/connect.reject 2004-07-04 04:24:01.000000000 +0300
***************
*** 17,22 ****
--- 17,24 ----
user
show tables;
Tables_in_test
+ t1
+ t2
grant ALL on *.* to test@localhost identified by "gambling";
grant ALL on *.* to [email protected] identified by "gambling";
show tables;
***************
*** 38,43 ****
--- 40,47 ----
user
show tables;
Tables_in_test
+ t1
+ t2
update mysql.user set password=old_password("gambling2") where user="test";
flush privileges;
set password=old_password('gambling3');
***************
*** 60,64 ****
--- 64,70 ----
user
show tables;
Tables_in_test
+ t1
+ t2
delete from mysql.user where user="test";
flush privileges;
-------------------------------------------------------
Please follow the instructions outlined at
http://www.mysql.com/doc/en/Reporting_mysqltest_bugs.html
to find the reason to this problem and how to report this.
Ending Tests
Shutting-down MySQL daemon
Master shutdown finished
Slave shutdown finished
Resuming Tests
constraints [ pass ]
count_distinct [ fail ]
Errors are (from /home/linus/mysql/utf8/mysql-test/var/log/mysqltest-time) :
/home/linus/mysql/utf8/bin/mysqltest: At line 37: query 'select t2.isbn,city,t1.libname,count(distinct t1.libname) as a from t3 left join t1 on t3.libname=t1.libname left join t2 on t3.isbn=t2.isbn group by city having count(distinct concat(t1.libname,'a')) > 1' failed: 1267: Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation 'concat'
(the last lines may be the most important ones)
Ending Tests
Shutting-down MySQL daemon
Master shutdown finished
Slave shutdown finished
Resuming Tests
count_distinct2 [ pass ]
count_distinct3 [ pass ]
create [ fail ]
Errors are (from /home/linus/mysql/utf8/mysql-test/var/log/mysqltest-time) :
/home/linus/mysql/utf8/bin/mysqltest: At line 97: query 'explain select * from t2 where b="world"' failed: 1267: Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation '='
(the last lines may be the most important ones)
Ending Tests
Shutting-down MySQL daemon
Master shutdown finished
Slave shutdown finished
Resuming Tests
ctype_big5 [ skipped ]
ctype_collate [ fail ]
Errors are (from /home/linus/mysql/utf8/mysql-test/var/log/mysqltest-time) :
/home/linus/mysql/utf8/bin/mysqltest: At line 197: Result length mismatch
(the last lines may be the most important ones)
Below are the diffs between actual and expected results:
-------------------------------------------------------
*** r/ctype_collate.result 2004-07-04 03:33:44.000000000 +0300
--- r/ctype_collate.reject 2004-07-04 04:26:35.000000000 +0300
***************
*** 58,72 ****
ue
Y
y
! ü
! Ü
Z
z
! å
! Å
! Ä
! ä
! ß
SELECT latin1_f FROM t1 ORDER BY latin1_f COLLATE latin1_swedish_ci;
latin1_f
A
--- 58,72 ----
ue
Y
y
! ü
! Ã
Z
z
! å
! Ã
! Ã
! ä
! Ã
SELECT latin1_f FROM t1 ORDER BY latin1_f COLLATE latin1_swedish_ci;
latin1_f
A
***************
*** 87,126 ****
ue
Y
y
! ü
! Ü
Z
z
! å
! Å
! Ä
! ä
! ß
SELECT latin1_f FROM t1 ORDER BY latin1_f COLLATE latin1_german2_ci;
latin1_f
A
a
! Å
! å
AD
ad
! Ä
ae
AE
! ä
af
AF
b
B
! ß
ss
SS
U
u
ue
UE
! ü
! Ü
Y
y
Z
--- 87,126 ----
ue
Y
y
! ü
! Ã
Z
z
! å
! Ã
! Ã
! ä
! Ã
SELECT latin1_f FROM t1 ORDER BY latin1_f COLLATE latin1_german2_ci;
latin1_f
A
a
! Ã
! å
AD
ad
! Ã
ae
AE
! ä
af
AF
b
B
! Ã
ss
SS
U
u
ue
UE
! ü
! Ã
Y
y
Z
***************
*** 135,155 ****
ae
af
AF
! Ä
! ä
! Å
! å
b
B
ss
SS
! ß
U
u
UE
ue
! ü
! Ü
Y
y
Z
--- 135,155 ----
ae
af
AF
! Ã
! ä
! Ã
! å
b
B
ss
SS
! Ã
U
u
UE
ue
! ü
! Ã
Y
y
Z
***************
*** 176,188 ****
ue
y
z
! Ä
! Å
! Ü
! ß
! ä
! å
! ü
SELECT latin1_f FROM t1 ORDER BY latin1_f COLLATE koi8r_general_ci;
ERROR 42000: COLLATION 'koi8r_general_ci' is not valid for CHARACTER SET 'latin1'
SELECT latin1_f COLLATE latin1_swedish_ci AS latin1_f_as FROM t1 ORDER BY latin1_f_as;
--- 176,188 ----
ue
y
z
! Ã
! Ã
! Ã
! Ã
! ä
! å
! ü
SELECT latin1_f FROM t1 ORDER BY latin1_f COLLATE koi8r_general_ci;
ERROR 42000: COLLATION 'koi8r_general_ci' is not valid for CHARACTER SET 'latin1'
SELECT latin1_f COLLATE latin1_swedish_ci AS latin1_f_as FROM t1 ORDER BY latin1_f_as;
***************
*** 205,244 ****
ue
Y
y
! ü
! Ü
Z
z
! å
! Å
! Ä
! ä
! ß
SELECT latin1_f COLLATE latin1_german2_ci AS latin1_f_as FROM t1 ORDER BY latin1_f_as;
latin1_f_as
A
a
! Å
! å
AD
ad
! Ä
ae
AE
! ä
af
AF
b
B
! ß
ss
SS
U
u
ue
UE
! ü
! Ü
Y
y
Z
--- 205,244 ----
ue
Y
y
! ü
! Ã
Z
z
! å
! Ã
! Ã
! ä
! Ã
SELECT latin1_f COLLATE latin1_german2_ci AS latin1_f_as FROM t1 ORDER BY latin1_f_as;
latin1_f_as
A
a
! Ã
! å
AD
ad
! Ã
ae
AE
! ä
af
AF
b
B
! Ã
ss
SS
U
u
ue
UE
! ü
! Ã
Y
y
Z
***************
*** 253,273 ****
ae
af
AF
! Ä
! ä
! Å
! å
b
B
ss
SS
! ß
U
u
UE
ue
! ü
! Ü
Y
y
Z
--- 253,273 ----
ae
af
AF
! Ã
! ä
! Ã
! å
b
B
ss
SS
! Ã
U
u
UE
ue
! ü
! Ã
Y
y
Z
***************
*** 294,306 ****
ue
y
z
! Ä
! Å
! Ü
! ß
! ä
! å
! ü
SELECT latin1_f COLLATE koi8r_general_ci AS latin1_f_as FROM t1 ORDER BY latin1_f_as;
ERROR 42000: COLLATION 'koi8r_general_ci' is not valid for CHARACTER SET 'latin1'
SELECT latin1_f,count(*) FROM t1 GROUP BY latin1_f;
--- 294,306 ----
ue
y
z
! Ã
! Ã
! Ã
! Ã
! ä
! å
! ü
SELECT latin1_f COLLATE koi8r_general_ci AS latin1_f_as FROM t1 ORDER BY latin1_f_as;
ERROR 42000: COLLATION 'koi8r_general_ci' is not valid for CHARACTER SET 'latin1'
SELECT latin1_f,count(*) FROM t1 GROUP BY latin1_f;
***************
*** 313,323 ****
SS 2
U 2
UE 2
! Ü 4
Z 2
! Å 2
! Ä 2
! ß 1
SELECT latin1_f,count(*) FROM t1 GROUP BY latin1_f COLLATE latin1_swedish_ci;
latin1_f count(*)
A 2
--- 313,323 ----
SS 2
U 2
UE 2
! Ã 4
Z 2
! Ã
2
! Ã 2
! Ã 1
SELECT latin1_f,count(*) FROM t1 GROUP BY latin1_f COLLATE latin1_swedish_ci;
latin1_f count(*)
A 2
***************
*** 328,338 ****
SS 2
U 2
UE 2
! Ü 4
Z 2
! Å 2
! Ä 2
! ß 1
SELECT latin1_f,count(*) FROM t1 GROUP BY latin1_f COLLATE latin1_german2_ci;
latin1_f count(*)
A 4
--- 328,338 ----
SS 2
U 2
UE 2
! Ã 4
Z 2
! Ã
2
! Ã 2
! Ã 1
SELECT latin1_f,count(*) FROM t1 GROUP BY latin1_f COLLATE latin1_german2_ci;
latin1_f count(*)
A 4
***************
*** 351,364 ****
AD 2
AE 2
AF 2
! Ä 2
! Å 2
B 2
SS 2
! ß 1
U 2
UE 2
! Ü 2
Y 2
Z 2
SELECT latin1_f,count(*) FROM t1 GROUP BY latin1_f COLLATE latin1_bin;
--- 351,364 ----
AD 2
AE 2
AF 2
! Ã 2
! Ã
2
B 2
SS 2
! Ã 1
U 2
UE 2
! Ã 2
Y 2
Z 2
SELECT latin1_f,count(*) FROM t1 GROUP BY latin1_f COLLATE latin1_bin;
***************
*** 383,395 ****
ue 1
y 1
z 1
! Ä 1
! Å 1
! Ü 1
! ß 1
! ä 1
! å 1
! ü 1
SELECT latin1_f,count(*) FROM t1 GROUP BY latin1_f COLLATE koi8r_general_ci;
ERROR 42000: COLLATION 'koi8r_general_ci' is not valid for CHARACTER SET 'latin1'
SELECT DISTINCT latin1_f FROM t1;
--- 383,395 ----
ue 1
y 1
z 1
! Ã 1
! Ã
1
! Ã 1
! Ã 1
! ä 1
! å 1
! ü 1
SELECT latin1_f,count(*) FROM t1 GROUP BY latin1_f COLLATE koi8r_general_ci;
ERROR 42000: COLLATION 'koi8r_general_ci' is not valid for CHARACTER SET 'latin1'
SELECT DISTINCT latin1_f FROM t1;
***************
*** 398,411 ****
AD
AE
AF
! Ä
! Å
B
U
UE
! Ü
SS
! ß
Z
SELECT DISTINCT latin1_f COLLATE latin1_swedish_ci FROM t1;
latin1_f COLLATE latin1_swedish_ci
--- 398,411 ----
AD
AE
AF
! Ã
! Ã
B
U
UE
! Ã
SS
! Ã
Z
SELECT DISTINCT latin1_f COLLATE latin1_swedish_ci FROM t1;
latin1_f COLLATE latin1_swedish_ci
***************
*** 413,426 ****
AD
AE
AF
! Ä
! Å
B
U
UE
! Ü
SS
! ß
Z
SELECT DISTINCT latin1_f COLLATE latin1_german2_ci FROM t1;
latin1_f COLLATE latin1_german2_ci
--- 413,426 ----
AD
AE
AF
! Ã
! Ã
B
U
UE
! Ã
SS
! Ã
Z
SELECT DISTINCT latin1_f COLLATE latin1_german2_ci FROM t1;
latin1_f COLLATE latin1_german2_ci
***************
*** 440,453 ****
AD
AE
AF
! Ä
! Å
B
U
UE
! Ü
SS
! ß
Y
Z
SELECT DISTINCT latin1_f COLLATE latin1_bin FROM t1;
--- 440,453 ----
AD
AE
AF
! Ã
! Ã
B
U
UE
! Ã
SS
! Ã
Y
Z
SELECT DISTINCT latin1_f COLLATE latin1_bin FROM t1;
***************
*** 460,480 ****
ae
AF
af
! Ä
! ä
! Å
! å
B
b
U
u
UE
ue
! Ü
! ü
SS
ss
! ß
Y
y
Z
--- 460,480 ----
ae
AF
af
! Ã
! ä
! Ã
! å
B
b
U
u
UE
ue
! Ã
! ü
SS
ss
! Ã
Y
y
Z
-------------------------------------------------------
Please follow the instructions outlined at
http://www.mysql.com/doc/en/Reporting_mysqltest_bugs.html
to find the reason to this problem and how to report this.
Ending Tests
Shutting-down MySQL daemon
Master shutdown finished
Slave shutdown finished
Resuming Tests
ctype_cp1251 [ pass ]
ctype_create [ pass ]
ctype_latin1 [ pass ]
ctype_latin1_de [ pass ]
ctype_many [ skipped ]
ctype_mb [ pass ]
ctype_recoding [ pass ]
ctype_sjis [ skipped ]
ERROR: /home/linus/mysql/utf8/mysql-test/var/run/master.pid was not created in 30 seconds; Aborting
test-default-charset.txt
(text/plain, 2.3 KB)
Installing Test Databases Removing Stale Files Installing Master Databases running ../libexec/mysqld --no-defaults --bootstrap --skip-grant-tables --basedir=.. --datadir=mysql-test/var/master-data --skip-innodb --skip-ndbcluster --skip-bdb Installing Slave Databases running ../libexec/mysqld --no-defaults --bootstrap --skip-grant-tables --basedir=.. --datadir=mysql-test/var/slave-data --skip-innodb --skip-ndbcluster --skip-bdb Manager disabled, skipping manager start. Loading Standard Test Databases Starting Tests TEST RESULT ------------------------------------------ alias [ pass ] alter_table [ pass ] analyse [ pass ] ansi [ pass ] archive [ skipped ] auto_increment [ pass ] backup [ pass ] bdb-alter-table-1 [ skipped ] bdb-alter-table-2 [ skipped ] bdb-crash [ skipped ] bdb-deadlock [ skipped ] bdb [ skipped ] bdb_cache [ skipped ] bench_count_distinct [ pass ] bigint [ pass ] binary [ pass ] bool [ pass ] bulk_replace [ pass ] case [ pass ] cast [ pass ] check [ pass ] comments [ pass ] compare [ pass ] connect [ pass ] constraints [ pass ] count_distinct [ pass ] count_distinct2 [ pass ] count_distinct3 [ pass ] create [ pass ] ctype_big5 [ skipped ] ctype_collate [ pass ] ctype_cp1251 [ pass ] ctype_create [ pass ] ctype_latin1 [ pass ] ctype_latin1_de [ pass ] ctype_many [ skipped ] ctype_mb [ pass ] ctype_recoding [ pass ] ctype_sjis [ skipped ] ERROR: /home/linus/mysql/base/mysql-test/var/run/master.pid was not created in 30 seconds; Aborting