ALTER TABLE closes all open HANDLER's for the table in question

fixed error handling in HANDLER ... READ FIRST


sql/sql_handler.cc:
  fix error handling in HANDLER ... READ FIRST
sql/sql_table.cc:
  ALTER TABLE closes all open HANDLER's for the table in question
This commit is contained in:
unknown 2003-02-22 18:00:34 +01:00
parent 850daeea33
commit feb8dc9ee5
2 changed files with 8 additions and 4 deletions

View file

@ -153,10 +153,13 @@ int mysql_ha_read(THD *thd, TABLE_LIST *tables,
{
switch(mode) {
case RFIRST:
err=keyname ?
table->file->index_first(table->record[0]) :
table->file->rnd_init(1) ||
table->file->rnd_next(table->record[0]);
if (keyname)
err=table->file->index_first(table->record[0]);
else
{
if (!(err=table->file->rnd_init(1)))
err=table->file->rnd_next(table->record[0]);
}
mode=RNEXT;
break;
case RLAST:

View file

@ -1374,6 +1374,7 @@ int mysql_alter_table(THD *thd,char *new_db, char *new_name,
new_db=db;
used_fields=create_info->used_fields;
mysql_ha_closeall(thd, table_list);
if (!(table=open_ltable(thd,table_list,TL_WRITE_ALLOW_READ)))
DBUG_RETURN(-1);