1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-29 05:21:33 +03:00

handler+alter table

This commit is contained in:
serg@serg.mysql.com
2002-01-03 14:31:54 +00:00
parent 8759fc48d7
commit 8b97f20024
3 changed files with 8 additions and 0 deletions

View File

@ -129,6 +129,7 @@ a b
handler t2 read next; handler t2 read next;
a b a b
18 eee 18 eee
alter table t1 type=MyISAM;
handler t2 read next; handler t2 read next;
a b a b
19 fff 19 fff

View File

@ -58,8 +58,10 @@ handler t2 read a=(19) where b="yyy";
handler t2 read first; handler t2 read first;
handler t2 read next; handler t2 read next;
alter table t1 type=MyISAM;
handler t2 read next; handler t2 read next;
!$1064 handler t2 read last; !$1064 handler t2 read last;
handler t2 close; handler t2 close;
drop table if exists t1; drop table if exists t1;

View File

@ -130,7 +130,11 @@ int mysql_ha_read(THD *thd, TABLE_LIST *tables,
select_limit+=offset_limit; select_limit+=offset_limit;
send_fields(thd,list,1); send_fields(thd,list,1);
HANDLER_TABLES_HACK(thd);
MYSQL_LOCK *lock=mysql_lock_tables(thd,&tables->table,1); MYSQL_LOCK *lock=mysql_lock_tables(thd,&tables->table,1);
HANDLER_TABLES_HACK(thd);
if (!lock)
goto err0; // mysql_lock_tables() printed error message already
for (uint num_rows=0; num_rows < select_limit; ) for (uint num_rows=0; num_rows < select_limit; )
{ {
@ -238,6 +242,7 @@ ok:
return 0; return 0;
err: err:
mysql_unlock_tables(thd,lock); mysql_unlock_tables(thd,lock);
err0:
return -1; return -1;
} }