| Bug #18176 | make test fails if server built with --without-innodb | ||
|---|---|---|---|
| Submitted: | 13 Mar 2006 1:58 | Modified: | 19 May 2009 20:01 |
| Reporter: | Paul Rivers (Candidate Quality Contributor) | Email Updates: | |
| Status: | Closed | Impact on me: | |
| Category: | MySQL Server: Compiling | Severity: | S3 (Non-critical) |
| Version: | 5.0.19 | OS: | Linux (Redhat Linux) |
| Assigned to: | Hartmut Holzgraefe | CPU Architecture: | Any |
[9 Apr 2006 3:04]
Baron Schwartz
On Gentoo / AMD64, mysql> create table test(c varchar(500) not null primary key); ERROR 1071 (42000): Specified key was too long; max key length is 999 bytes mysql> create table test(c varchar(255), d varchar(255),primary key(c,d)); ERROR 1071 (42000): Specified key was too long; max key length is 1000 bytes mysql> status; -------------- mysql Ver 14.12 Distrib 5.0.19, for pc-linux-gnu (x86_64) using readline 5.1 Connection id: 3 Current database: money Current user: me@localhost SSL: Not in use Current pager: /usr/bin/less Using outfile: '' Using delimiter: ; Server version: 5.0.19-log Protocol version: 10 Connection: Localhost via UNIX socket Server characterset: utf8 Db characterset: utf8 Client characterset: latin1 Conn. characterset: latin1 UNIX socket: /var/run/mysqld/mysqld.sock Is the max key length 999 or 1000 bytes? It seems to depend on the number of columns I try to add.
[25 Oct 2006 9:57]
Antony Curtis
If a column is NULLable, it adds a byte to the key length.
[25 Oct 2006 14:33]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/14361 ChangeSet@1.2291, 2006-10-25 07:04:13-07:00, acurtis@xiphis.org +8 -0 Bug#18176 "make test fails if server built with --without-innodb" fix tests

Description: make test seems unaware innodb storage engine is not available when server is compiled with --without-innodb option. make test fails on the create test with: create [ fail ] Errors are (from /apps/mysql/mysqlprod-5.0.19/src/mysql-5.0.19/mysql-test/var/log/mysqltest-time) : mysqltest: Result length mismatch (the last lines may be the most important ones) Below are the diffs between actual and expected results: ------------------------------------------------------- *** r/create.result 2006-03-04 23:45:40.000000000 +0300 --- r/create.reject 2006-03-13 04:52:12.000000000 +0300 *************** *** 768,773 **** create table t1(f1 varchar(800) binary not null, key(f1)) engine = innodb character set utf8 collate utf8_general_ci; Warnings: ! Warning 1071 Specified key was too long; max key length is 765 bytes insert into t1 values('aaa'); drop table t1; --- 768,774 ---- create table t1(f1 varchar(800) binary not null, key(f1)) engine = innodb character set utf8 collate utf8_general_ci; Warnings: ! Warning 1266 Using storage engine MyISAM for table 't1' ! Warning 1071 Specified key was too long; max key length is 999 bytes insert into t1 values('aaa'); drop table t1; How to repeat: Build mysql-5.0.19 server from source. Specify --without-innodb during the ./configure Suggested fix: Split storage engine tests out by type.