Bug #6086 "ctype_utf8" test fails when MySQL does not include InnoDB support
Submitted: 14 Oct 2004 10:23 Modified: 15 Oct 2004 9:59
Reporter: Lenz Grimmer Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server Severity:S3 (Non-critical)
Version:4.1.6 OS:
Assigned to: Alexander Barkov CPU Architecture:Any

[14 Oct 2004 10:23] Lenz Grimmer
Description:
When MySQL 4.1.6 is compiled without InnoDB (e.g. as for the commercial "Classic" packages), the "ctype_utf8" test will fail with the output below.

-------------------------------------------------------
*** r/ctype_utf8.result Wed Oct 13 09:32:36 2004
--- r/ctype_utf8.reject Thu Oct 14 06:53:56 2004
***************
*** 317,322 ****
--- 317,324 ----
  bbbbbbbbbbbbbbbbbbbb
  drop table t1;
  create table t1 (c varchar(30) character set utf8, unique(c(10))) engine=innodb;
+ Warnings:
+ Warning       1266    Using storage engine MyISAM for table 't1'
  insert into t1 values ('1'),('2'),('3'),('x'),('y'),('z');
  insert into t1 values ('aaaaaaaaaa');
  insert into t1 values ('aaaaaaaaaaa');
***************
*** 373,378 ****
--- 375,382 ----
  ERROR 23000: Duplicate entry 'ꪪꪪ' for key 1
  drop table t1;
  create table t1 (c char(3) character set utf8, unique (c(2))) engine=innodb;
+ Warnings:
+ Warning       1266    Using storage engine MyISAM for table 't1'
  insert into t1 values ('1'),('2'),('3'),('4'),('x'),('y'),('z');
  insert into t1 values ('a');
  insert into t1 values ('aa');
***************
*** 669,674 ****
--- 673,680 ----
  str varchar(255) character set utf8 not null,
  key str  (str(2))
  ) engine=innodb;
+ Warnings:
+ Warning       1266    Using storage engine MyISAM for table 't1'
  INSERT INTO t1 VALUES ('str');
  INSERT INTO t1 VALUES ('str2');
  select * from t1 where str='str';
***************
*** 715,720 ****
--- 721,728 ----
  subject varchar(255) character set utf8 collate utf8_unicode_ci,
  p varchar(15) character set utf8
  ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
+ Warnings:
+ Warning       1266    Using storage engine MyISAM for table 't1'

How to repeat:
Compile MySQL 4.1.6 without InnoDB and run the ctype_utf8 test.

Suggested fix:
Please add a check to this test, if InnoDB is actually available. Thanks!
[14 Oct 2004 11:09] Sergei Golubchik
a fix (just like everywhere else) should be a --disable_warnings/--enable_warnings around the create table
[14 Oct 2004 13:08] Jan Lindström
Thank you for your bug report. I committed a patch to fix this problem and it waits for
a review (http://lists.mysql.com/internals/17655).
[15 Oct 2004 9:59] Alexander Barkov
Jan, I pushed a fix for ctype_utf8 yesterday.