From: Date: February 7 2006 7:57pm Subject: bk commit into 5.0 tree (pekka:1.2040) BUG#15918 List-Archive: http://lists.mysql.com/commits/2269 X-Bug: 15918 Message-Id: <200602071857.k17IvlwH030782@orca.ndb.mysql.com> Below is the list of changes that have just been committed into a local 5.0 repository of pekka. When pekka 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.2040 06/02/07 19:57:31 pekka@stripped +5 -0 ndb - bug#15918 fix sql/ha_ndbcluster.h 1.94 06/02/07 19:56:49 pekka@stripped +1 -0 bug#15918 fix sql/ha_ndbcluster.cc 1.227 06/02/07 19:56:49 pekka@stripped +4 -0 bug#15918 fix ndb/src/kernel/blocks/dbacc/Dbacc.hpp 1.23 06/02/07 19:56:49 pekka@stripped +1 -1 bug#15918 fix mysql-test/t/ndb_index_unique.test 1.17 06/02/07 19:56:49 pekka@stripped +14 -0 bug#15918 fix mysql-test/r/ndb_index_unique.result 1.17 06/02/07 19:56:49 pekka@stripped +9 -0 bug#15918 fix # 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: pekka # Host: orca.ndb.mysql.com # Root: /space/pekka/ndb/version/my50 --- 1.16/mysql-test/r/ndb_index_unique.result 2005-04-01 14:04:43 +02:00 +++ 1.17/mysql-test/r/ndb_index_unique.result 2006-02-07 19:56:49 +01:00 @@ -626,3 +626,12 @@ id month year code 1 4 2004 12 drop table t1; +create table t1 (a int primary key, b varchar(1000) not null, unique key (b)) +engine=ndb charset=utf8; +insert into t1 values (1, repeat(_utf8 0xe288ab6474, 200)); +insert into t1 values (2, repeat(_utf8 0xe288ab6474, 200)); +ERROR 23000: Duplicate entry '2' for key 1 +select a, sha1(b) from t1; +a sha1(b) +1 08f5d02c8b8bc244f275bdfc22c42c5cab0d9d7d +drop table t1; --- 1.16/mysql-test/t/ndb_index_unique.test 2005-07-28 15:12:35 +02:00 +++ 1.17/mysql-test/t/ndb_index_unique.test 2006-02-07 19:56:49 +01:00 @@ -309,4 +309,18 @@ drop table t1; +# bug#15918 Unique Key Limit in NDB Engine + +create table t1 (a int primary key, b varchar(1000) not null, unique key (b)) +engine=ndb charset=utf8; + +insert into t1 values (1, repeat(_utf8 0xe288ab6474, 200)); +--error 1062 +insert into t1 values (2, repeat(_utf8 0xe288ab6474, 200)); +select a, sha1(b) from t1; + +# perl -e 'print pack("H2000","e288ab6474"x200)' | sha1sum + +drop table t1; + # End of 4.1 tests --- 1.22/ndb/src/kernel/blocks/dbacc/Dbacc.hpp 2005-10-05 16:35:20 +02:00 +++ 1.23/ndb/src/kernel/blocks/dbacc/Dbacc.hpp 2006-02-07 19:56:49 +01:00 @@ -1446,7 +1446,7 @@ Uint32 cexcPrevforward; Uint32 clocalkey[32]; union { - Uint32 ckeys[2048]; + Uint32 ckeys[2048 * MAX_XFRM_MULTIPLY]; Uint64 ckeys_align; }; --- 1.226/sql/ha_ndbcluster.cc 2006-01-06 17:33:25 +01:00 +++ 1.227/sql/ha_ndbcluster.cc 2006-02-07 19:56:49 +01:00 @@ -5083,6 +5083,10 @@ { return NDB_MAX_KEY_SIZE; } +uint ha_ndbcluster::max_supported_key_part_length() const +{ + return NDB_MAX_KEY_SIZE; +} bool ha_ndbcluster::low_byte_first() const { #ifdef WORDS_BIGENDIAN --- 1.93/sql/ha_ndbcluster.h 2005-10-04 06:08:55 +02:00 +++ 1.94/sql/ha_ndbcluster.h 2006-02-07 19:56:49 +01:00 @@ -510,6 +510,7 @@ uint max_supported_keys() const; uint max_supported_key_parts() const; uint max_supported_key_length() const; + uint max_supported_key_part_length() const; int rename_table(const char *from, const char *to); int delete_table(const char *name);