Commit 7dba8c53 authored by unknown's avatar unknown
Browse files

Merge ahristov@bk-internal.mysql.com:/home/bk/mysql-5.0

into lmy004.:/work/mysql-5.0-bug14381

parents 252f72a0 778088a5
Loading
Loading
Loading
Loading
+26 −30
Original line number Diff line number Diff line
@@ -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
@@ -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(*)
@@ -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:
+3 −0
Original line number Diff line number Diff line
@@ -94,6 +94,9 @@ 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 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;}