Commit 68047f7f authored by davi@moksha.local's avatar davi@moksha.local

Merge moksha.local:/Users/davi/mysql/push/bugs/old/30632-5.0

into  moksha.local:/Users/davi/mysql/push/bugs/30632-5.1
parents cb7486b4 77d78a88
...@@ -479,3 +479,22 @@ handler t1 open; ...@@ -479,3 +479,22 @@ handler t1 open;
--echo --> client 1 --echo --> client 1
connection default; connection default;
drop table t1; drop table t1;
#
# Bug#30632 HANDLER read failure causes hang
#
--disable_warnings
drop table if exists t1;
--enable_warnings
create table t1 (a int);
handler t1 open as t1_alias;
--error 1176
handler t1_alias read a next;
--error 1054
handler t1_alias READ a next where inexistent > 0;
--error 1176
handler t1_alias read a next;
--error 1054
handler t1_alias READ a next where inexistent > 0;
handler t1_alias close;
drop table t1;
...@@ -522,3 +522,16 @@ handler t1 open; ...@@ -522,3 +522,16 @@ handler t1 open;
ERROR HY000: Table storage engine for 't1' doesn't have this option ERROR HY000: Table storage engine for 't1' doesn't have this option
--> client 1 --> client 1
drop table t1; drop table t1;
drop table if exists t1;
create table t1 (a int);
handler t1 open as t1_alias;
handler t1_alias read a next;
ERROR HY000: Key 'a' doesn't exist in table 't1_alias'
handler t1_alias READ a next where inexistent > 0;
ERROR 42S22: Unknown column 'inexistent' in 'field list'
handler t1_alias read a next;
ERROR HY000: Key 'a' doesn't exist in table 't1_alias'
handler t1_alias READ a next where inexistent > 0;
ERROR 42S22: Unknown column 'inexistent' in 'field list'
handler t1_alias close;
drop table t1;
...@@ -444,7 +444,7 @@ bool mysql_ha_read(THD *thd, TABLE_LIST *tables, ...@@ -444,7 +444,7 @@ bool mysql_ha_read(THD *thd, TABLE_LIST *tables,
cond->cleanup(); // File was reopened cond->cleanup(); // File was reopened
if ((!cond->fixed && if ((!cond->fixed &&
cond->fix_fields(thd, &cond)) || cond->check_cols(1)) cond->fix_fields(thd, &cond)) || cond->check_cols(1))
goto err0; goto err;
} }
if (keyname) if (keyname)
...@@ -452,13 +452,13 @@ bool mysql_ha_read(THD *thd, TABLE_LIST *tables, ...@@ -452,13 +452,13 @@ bool mysql_ha_read(THD *thd, TABLE_LIST *tables,
if ((keyno=find_type(keyname, &table->s->keynames, 1+2)-1)<0) if ((keyno=find_type(keyname, &table->s->keynames, 1+2)-1)<0)
{ {
my_error(ER_KEY_DOES_NOT_EXITS, MYF(0), keyname, tables->alias); my_error(ER_KEY_DOES_NOT_EXITS, MYF(0), keyname, tables->alias);
goto err0; goto err;
} }
} }
if (insert_fields(thd, &thd->lex->select_lex.context, if (insert_fields(thd, &thd->lex->select_lex.context,
tables->db, tables->alias, &it, 0)) tables->db, tables->alias, &it, 0))
goto err0; goto err;
protocol->send_fields(&list, Protocol::SEND_NUM_ROWS | Protocol::SEND_EOF); protocol->send_fields(&list, Protocol::SEND_NUM_ROWS | Protocol::SEND_EOF);
......
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