Commit cb2fe473 authored by unknown's avatar unknown

This wouldn't ever be pushed


mysql-test/t/handler.test:
  new tests
sql/sql_handler.cc:
  bugfix
parent 7006b518
......@@ -3,30 +3,47 @@
#
drop table if exists t1;
create table t1 (a int, b char(10), key a(a));
create table t1 (a int, b char(10), key a(a), key b(a,b));
insert into t1 values
(14,"aaa"),(15,"bbb"),(16,"ccc"),
(17,"ddd"),(18,"eee"),(19,"fff"),
(14,"aaa"),(15,"bbb"),(16,"ccc"),(16,"xxx"),
(17,"ddd"),(18,"eee"),(19,"fff"),(19,"yyy"),
(20,"ggg"),(21,"hhh"),(22,"iii");
handler t1 open;
handler t1 read a first;
handler t1 read a next;
handler t1 read a next;
handler t1 read a prev;
handler t1 read a last;
handler t1 read a prev;
handler t1 read a prev;
handler t1 read a first;
handler t1 read a prev;
handler t1 read a last;
handler t1 read a prev;
handler t1 read a next;
handler t1 read a next;
handler t1 read a=(15);
handler t1 close;
drop table if exists t1;
handler t1 open as t2;
handler t2 read a first;
handler t2 read a next;
handler t2 read a next;
handler t2 read a prev;
handler t2 read a last;
handler t2 read a prev;
handler t2 read a prev;
handler t2 read a first;
handler t2 read a prev;
handler t2 read a last;
handler t2 read a prev;
handler t2 read a next;
handler t2 read a next;
handler t2 read a=(15);
handler t2 read a=(16);
!$1070 handler t2 read a=(19,"fff");
handler t2 read b=(19,"fff");
handler t2 read b=(19,"yyy");
handler t2 read b=(19);
!$1109 handler t1 read a last;
handler t2 read a=(11);
handler t2 read a>=(11);
handler t2 read a=(18);
handler t2 read a>=(18);
handler t2 read a>(18);
handler t2 read a<=(18);
handler t2 read a<(18);
handler t2 close;
drop table if exists t1;
......@@ -90,6 +90,12 @@ int mysql_ha_read(THD *thd, TABLE_LIST *tables,
KEY *keyinfo=table->key_info+keyno;
uint key_len=0, i;
byte *key, *buf;
if (key_expr->elements > keyinfo->key_parts)
{
my_printf_error(ER_TOO_MANY_KEY_PARTS,ER(ER_TOO_MANY_KEY_PARTS),
MYF(0),keyinfo->key_parts);
return -1;
}
for (i=0; i < key_expr->elements; i++)
key_len+=keyinfo->key_part[i].store_length;
if (!(key=sql_calloc(ALIGN_SIZE(key_len))))
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment