1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-30 16:24:05 +03:00

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

into dl145b.mysql.com:/home/ndbdev/tomas/mysql-5.1
This commit is contained in:
ndbdev@dl145b.mysql.com
2005-07-21 08:06:26 +02:00
8 changed files with 168 additions and 76 deletions

View File

@ -349,20 +349,25 @@ void mysql_lock_abort(THD *thd, TABLE *table)
/* Abort one thread / table combination */
void mysql_lock_abort_for_thread(THD *thd, TABLE *table)
bool mysql_lock_abort_for_thread(THD *thd, TABLE *table)
{
MYSQL_LOCK *locked;
TABLE *write_lock_used;
bool result= FALSE;
DBUG_ENTER("mysql_lock_abort_for_thread");
if ((locked = get_lock_data(thd,&table,1,1,&write_lock_used)))
{
for (uint i=0; i < locked->lock_count; i++)
thr_abort_locks_for_thread(locked->locks[i]->lock,
table->in_use->real_id);
{
bool found;
found= thr_abort_locks_for_thread(locked->locks[i]->lock,
table->in_use->real_id);
result|= found;
}
my_free((gptr) locked,MYF(0));
}
DBUG_VOID_RETURN;
DBUG_RETURN(result);
}
@ -605,8 +610,14 @@ int lock_table_name(THD *thd, TABLE_LIST *table_list)
my_free((gptr) table,MYF(0));
DBUG_RETURN(-1);
}
if (remove_table_from_cache(thd, db, table_list->table_name, 0))
DBUG_RETURN(1); // Table is in use
{
if (remove_table_from_cache(thd, db,
table_list->table_name, RTFC_NO_FLAG))
{
DBUG_RETURN(1); // Table is in use
}
}
DBUG_RETURN(0);
}