diff options
author | andrey@lmy004. <> | 2005-11-01 19:37:59 +0100 |
---|---|---|
committer | andrey@lmy004. <> | 2005-11-01 19:37:59 +0100 |
commit | 3a08c5257a10e4660baa3cfc3f3827d37aa2ab14 (patch) | |
tree | 087c28f199d9ce9940b7756447619145023cab20 | |
parent | 153d4c400ee0c8023c4e1f4be9aadb6fc4768bee (diff) | |
download | mariadb-git-3a08c5257a10e4660baa3cfc3f3827d37aa2ab14.tar.gz |
fix for bug #14381
(BDB keylength limitted to 255)
-rw-r--r-- | mysql-test/r/bdb.result | 56 | ||||
-rw-r--r-- | sql/ha_berkeley.h | 4 |
2 files changed, 28 insertions, 32 deletions
diff --git a/mysql-test/r/bdb.result b/mysql-test/r/bdb.result index 2bba44d36e9..530ff6ef59b 100644 --- a/mysql-test/r/bdb.result +++ b/mysql-test/r/bdb.result @@ -1584,8 +1584,6 @@ g 10 h 10 i 10 alter table t1 modify v varchar(300), drop key v, drop key v_2, add key v (v); -Warnings: -Warning 1071 Specified key was too long; max key length is 255 bytes show create table t1; Table Create Table t1 CREATE TABLE `t1` ( @@ -1594,7 +1592,7 @@ t1 CREATE TABLE `t1` ( `t` text, KEY `c` (`c`), KEY `t` (`t`(10)), - KEY `v` (`v`(255)) + KEY `v` (`v`) ) ENGINE=BerkeleyDB DEFAULT CHARSET=latin1 select count(*) from t1 where v='a'; count(*) @@ -1616,19 +1614,19 @@ count(*) 9 explain select count(*) from t1 where v='a '; id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t1 ref v v 258 const # Using where +1 SIMPLE t1 ref v v 303 const # Using where explain select count(*) from t1 where v like 'a%'; id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t1 range v v 258 NULL # Using where +1 SIMPLE t1 range v v 303 NULL # Using where explain select count(*) from t1 where v between 'a' and 'a '; id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t1 ref v v 258 const # Using where +1 SIMPLE t1 ref v v 303 const # Using where explain select count(*) from t1 where v between 'a' and 'a ' and v between 'a ' and 'b\n'; id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t1 ref v v 258 const # Using where +1 SIMPLE t1 ref v v 303 const # Using where explain select * from t1 where v='a'; id select_type table type possible_keys key key_len ref rows Extra -1 SIMPLE t1 ref v v 258 const # Using where +1 SIMPLE t1 ref v v 303 const # Using where select v,count(*) from t1 group by v limit 10; v count(*) a 1 @@ -1656,15 +1654,15 @@ i 10 select sql_big_result v,count(t) from t1 group by v limit 10; v count(t) a 1 -a 10 -b 10 -c 10 -d 10 -e 10 -f 10 -g 10 -h 10 -i 10 +a 10 +b 10 +c 10 +d 10 +e 10 +f 10 +g 10 +h 10 +i 10 alter table t1 drop key v, add key v (v(30)); show create table t1; Table Create Table @@ -1746,8 +1744,6 @@ g 10 h 10 i 10 alter table t1 modify v varchar(600), drop key v, add key v (v); -Warnings: -Warning 1071 Specified key was too long; max key length is 255 bytes show create table t1; Table Create Table t1 CREATE TABLE `t1` ( @@ -1756,7 +1752,7 @@ t1 CREATE TABLE `t1` ( `t` text, KEY `c` (`c`), KEY `t` (`t`(10)), - KEY `v` (`v`(255)) + KEY `v` (`v`) ) ENGINE=BerkeleyDB DEFAULT CHARSET=latin1 select v,count(*) from t1 group by v limit 10; v count(*) @@ -1785,15 +1781,15 @@ i 10 select sql_big_result v,count(t) from t1 group by v limit 10; v count(t) a 1 -a 10 -b 10 -c 10 -d 10 -e 10 -f 10 -g 10 -h 10 -i 10 +a 10 +b 10 +c 10 +d 10 +e 10 +f 10 +g 10 +h 10 +i 10 drop table t1; create table t1 (a char(10), unique (a)); insert into t1 values ('a '); @@ -1874,7 +1870,7 @@ a b drop table t1; create table t1 (v varchar(65530), key(v)); Warnings: -Warning 1071 Specified key was too long; max key length is 255 bytes +Warning 1071 Specified key was too long; max key length is 1024 bytes drop table if exists t1; create table t1 (v varchar(65536)); Warnings: diff --git a/sql/ha_berkeley.h b/sql/ha_berkeley.h index c747b4eef81..99e13286554 100644 --- a/sql/ha_berkeley.h +++ b/sql/ha_berkeley.h @@ -94,8 +94,8 @@ class ha_berkeley: public handler uint max_supported_keys() const { return MAX_KEY-1; } uint extra_rec_buf_length() { return BDB_HIDDEN_PRIMARY_KEY_LENGTH; } ha_rows estimate_rows_upper_bound(); - uint max_supported_key_length() const { return MAX_KEY_LENGTH; } - uint max_supported_key_part_length() const { return MAX_KEY_LENGTH; } + uint max_supported_key_length() const { return 4294967295L; } + uint max_supported_key_part_length() const { return 4294967295L; } const key_map *keys_to_use_for_scanning() { return &key_map_full; } bool has_transactions() { return 1;} |