Loading mysql-test/r/bdb.result +14 −0 Original line number Diff line number Diff line Loading @@ -1891,3 +1891,17 @@ t1 CREATE TABLE `t1` ( ) ENGINE=BerkeleyDB DEFAULT CHARSET=latin1 drop table t1; set storage_engine=MyISAM; create table t1 (a varchar(255) character set utf8, b varchar(255) character set utf8, c varchar(255) character set utf8, d varchar(255) character set utf8, key (a,b,c,d)) engine=bdb; drop table t1; create table t1 (a varchar(255) character set utf8, b varchar(255) character set utf8, c varchar(255) character set utf8, d varchar(255) character set utf8, e varchar(255) character set utf8, key (a,b,c,d,e)) engine=bdb; ERROR 42000: Specified key was too long; max key length is 3072 bytes End of 5.0 tests mysql-test/r/innodb.result +14 −0 Original line number Diff line number Diff line Loading @@ -2772,3 +2772,17 @@ insert into t2 values (4,_ucs2 0x05612020,_ucs2 0x05612020,'taken'); drop table t1; drop table t2; commit; create table t1 (a varchar(255) character set utf8, b varchar(255) character set utf8, c varchar(255) character set utf8, d varchar(255) character set utf8, key (a,b,c,d)) engine=innodb; drop table t1; create table t1 (a varchar(255) character set utf8, b varchar(255) character set utf8, c varchar(255) character set utf8, d varchar(255) character set utf8, e varchar(255) character set utf8, key (a,b,c,d,e)) engine=innodb; ERROR 42000: Specified key was too long; max key length is 3072 bytes End of 5.0 tests mysql-test/t/bdb.test +19 −0 Original line number Diff line number Diff line Loading @@ -974,3 +974,22 @@ drop table t1; # End varchar test eval set storage_engine=$default; # # Test that we can create a large key # create table t1 (a varchar(255) character set utf8, b varchar(255) character set utf8, c varchar(255) character set utf8, d varchar(255) character set utf8, key (a,b,c,d)) engine=bdb; drop table t1; --error ER_TOO_LONG_KEY create table t1 (a varchar(255) character set utf8, b varchar(255) character set utf8, c varchar(255) character set utf8, d varchar(255) character set utf8, e varchar(255) character set utf8, key (a,b,c,d,e)) engine=bdb; --echo End of 5.0 tests mysql-test/t/innodb.test +19 −0 Original line number Diff line number Diff line Loading @@ -1751,3 +1751,22 @@ insert into t2 values (4,_ucs2 0x05612020,_ucs2 0x05612020,'taken'); drop table t1; drop table t2; commit; # # Test that we can create a large (>1K) key # create table t1 (a varchar(255) character set utf8, b varchar(255) character set utf8, c varchar(255) character set utf8, d varchar(255) character set utf8, key (a,b,c,d)) engine=innodb; drop table t1; --error ER_TOO_LONG_KEY create table t1 (a varchar(255) character set utf8, b varchar(255) character set utf8, c varchar(255) character set utf8, d varchar(255) character set utf8, e varchar(255) character set utf8, key (a,b,c,d,e)) engine=innodb; --echo End of 5.0 tests sql/unireg.h +1 −5 Original line number Diff line number Diff line Loading @@ -50,11 +50,7 @@ #define MAX_SYS_VAR_LENGTH 32 #define MAX_KEY 64 /* Max used keys */ #define MAX_REF_PARTS 16 /* Max parts used as ref */ #if SIZEOF_CHARP > 4 #define MAX_KEY_LENGTH 3072 /* max possible key, if 64 bits */ #else #define MAX_KEY_LENGTH 1024 /* max possible key, if 32 bits */ #endif #define MAX_KEY_LENGTH 3072 /* max possible key */ #if SIZEOF_OFF_T > 4 #define MAX_REFLENGTH 8 /* Max length for record ref */ #else Loading Loading
mysql-test/r/bdb.result +14 −0 Original line number Diff line number Diff line Loading @@ -1891,3 +1891,17 @@ t1 CREATE TABLE `t1` ( ) ENGINE=BerkeleyDB DEFAULT CHARSET=latin1 drop table t1; set storage_engine=MyISAM; create table t1 (a varchar(255) character set utf8, b varchar(255) character set utf8, c varchar(255) character set utf8, d varchar(255) character set utf8, key (a,b,c,d)) engine=bdb; drop table t1; create table t1 (a varchar(255) character set utf8, b varchar(255) character set utf8, c varchar(255) character set utf8, d varchar(255) character set utf8, e varchar(255) character set utf8, key (a,b,c,d,e)) engine=bdb; ERROR 42000: Specified key was too long; max key length is 3072 bytes End of 5.0 tests
mysql-test/r/innodb.result +14 −0 Original line number Diff line number Diff line Loading @@ -2772,3 +2772,17 @@ insert into t2 values (4,_ucs2 0x05612020,_ucs2 0x05612020,'taken'); drop table t1; drop table t2; commit; create table t1 (a varchar(255) character set utf8, b varchar(255) character set utf8, c varchar(255) character set utf8, d varchar(255) character set utf8, key (a,b,c,d)) engine=innodb; drop table t1; create table t1 (a varchar(255) character set utf8, b varchar(255) character set utf8, c varchar(255) character set utf8, d varchar(255) character set utf8, e varchar(255) character set utf8, key (a,b,c,d,e)) engine=innodb; ERROR 42000: Specified key was too long; max key length is 3072 bytes End of 5.0 tests
mysql-test/t/bdb.test +19 −0 Original line number Diff line number Diff line Loading @@ -974,3 +974,22 @@ drop table t1; # End varchar test eval set storage_engine=$default; # # Test that we can create a large key # create table t1 (a varchar(255) character set utf8, b varchar(255) character set utf8, c varchar(255) character set utf8, d varchar(255) character set utf8, key (a,b,c,d)) engine=bdb; drop table t1; --error ER_TOO_LONG_KEY create table t1 (a varchar(255) character set utf8, b varchar(255) character set utf8, c varchar(255) character set utf8, d varchar(255) character set utf8, e varchar(255) character set utf8, key (a,b,c,d,e)) engine=bdb; --echo End of 5.0 tests
mysql-test/t/innodb.test +19 −0 Original line number Diff line number Diff line Loading @@ -1751,3 +1751,22 @@ insert into t2 values (4,_ucs2 0x05612020,_ucs2 0x05612020,'taken'); drop table t1; drop table t2; commit; # # Test that we can create a large (>1K) key # create table t1 (a varchar(255) character set utf8, b varchar(255) character set utf8, c varchar(255) character set utf8, d varchar(255) character set utf8, key (a,b,c,d)) engine=innodb; drop table t1; --error ER_TOO_LONG_KEY create table t1 (a varchar(255) character set utf8, b varchar(255) character set utf8, c varchar(255) character set utf8, d varchar(255) character set utf8, e varchar(255) character set utf8, key (a,b,c,d,e)) engine=innodb; --echo End of 5.0 tests
sql/unireg.h +1 −5 Original line number Diff line number Diff line Loading @@ -50,11 +50,7 @@ #define MAX_SYS_VAR_LENGTH 32 #define MAX_KEY 64 /* Max used keys */ #define MAX_REF_PARTS 16 /* Max parts used as ref */ #if SIZEOF_CHARP > 4 #define MAX_KEY_LENGTH 3072 /* max possible key, if 64 bits */ #else #define MAX_KEY_LENGTH 1024 /* max possible key, if 32 bits */ #endif #define MAX_KEY_LENGTH 3072 /* max possible key */ #if SIZEOF_OFF_T > 4 #define MAX_REFLENGTH 8 /* Max length for record ref */ #else Loading