Below is the list of changes that have just been committed into a local
5.0 repository of jimw. When jimw does a push these changes will
be propagated to the main repository and, within 24 hours after the
push, to the public repository.
For information on how to access the public repository
see http://dev.mysql.com/doc/mysql/en/installing-source-tree.html
ChangeSet
1.2034 05/12/01 11:11:03 jimw@stripped +5 -0
Enable key lengths of up to 3K on 32-bit platforms.
sql/unireg.h
1.42 05/12/01 11:11:00 jimw@stripped +1 -5
Allow key length of 3K even on 32-bit platforms
mysql-test/t/innodb.test
1.117 05/12/01 11:11:00 jimw@stripped +19 -0
Add simple test that large keys are allowed
mysql-test/t/bdb.test
1.49 05/12/01 11:11:00 jimw@stripped +19 -0
Add simple test that large keys are allowed
mysql-test/r/innodb.result
1.146 05/12/01 11:10:59 jimw@stripped +14 -0
Add new results
mysql-test/r/bdb.result
1.47 05/12/01 11:10:59 jimw@stripped +14 -0
Add new results
# This is a BitKeeper patch. What follows are the unified diffs for the
# set of deltas contained in the patch. The rest of the patch, the part
# that BitKeeper cares about, is below these diffs.
# User: jimw
# Host: rama.(none)
# Root: /home/jimw/my/mysql-5.0-keysize
--- 1.41/sql/unireg.h 2005-11-23 16:36:25 -08:00
+++ 1.42/sql/unireg.h 2005-12-01 11:11:00 -08:00
@@ -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
--- 1.145/mysql-test/r/innodb.result 2005-10-19 09:06:22 -07:00
+++ 1.146/mysql-test/r/innodb.result 2005-12-01 11:10:59 -08:00
@@ -2772,3 +2772,17 @@
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
--- 1.116/mysql-test/t/innodb.test 2005-10-19 09:06:22 -07:00
+++ 1.117/mysql-test/t/innodb.test 2005-12-01 11:11:00 -08:00
@@ -1751,3 +1751,22 @@
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
--- 1.46/mysql-test/r/bdb.result 2005-11-02 06:28:55 -08:00
+++ 1.47/mysql-test/r/bdb.result 2005-12-01 11:10:59 -08:00
@@ -1891,3 +1891,17 @@
) 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
--- 1.48/mysql-test/t/bdb.test 2005-11-02 06:28:55 -08:00
+++ 1.49/mysql-test/t/bdb.test 2005-12-01 11:11:00 -08:00
@@ -974,3 +974,22 @@
# 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
| Thread |
|---|
| • bk commit into 5.0 tree (jimw:1.2034) | Jim Winstead | 1 Dec |