Merge malff@bk-internal.mysql.com:/home/bk/mysql-5.1-runtime

into  weblab.(none):/home/marcsql/TREE/mysql-5.1-25183
This commit is contained in:
malff/marcsql@weblab.(none) 2007-01-11 09:15:44 -07:00
commit f043c7c4bf
2 changed files with 11 additions and 4 deletions

View File

@ -3905,7 +3905,7 @@ bool sys_var_opt_readonly::update(THD *thd, set_var *var)
can cause to wait on a read lock, it's required for the client application can cause to wait on a read lock, it's required for the client application
to unlock everything, and acceptable for the server to wait on all locks. to unlock everything, and acceptable for the server to wait on all locks.
*/ */
if (close_cached_tables(thd, true, NULL, false)) if (result= close_cached_tables(thd, true, NULL, false))
goto end_with_read_lock; goto end_with_read_lock;
if (result= make_global_read_lock_block_commit(thd)) if (result= make_global_read_lock_block_commit(thd))

View File

@ -5405,16 +5405,19 @@ bool mysql_alter_table(THD *thd,char *new_db, char *new_name,
{ {
my_message(ER_LOCK_OR_ACTIVE_TRANSACTION, my_message(ER_LOCK_OR_ACTIVE_TRANSACTION,
ER(ER_LOCK_OR_ACTIVE_TRANSACTION), MYF(0)); ER(ER_LOCK_OR_ACTIVE_TRANSACTION), MYF(0));
DBUG_RETURN(1); DBUG_RETURN(TRUE);
} }
if (wait_if_global_read_lock(thd,0,1)) if (wait_if_global_read_lock(thd,0,1))
DBUG_RETURN(1); DBUG_RETURN(TRUE);
VOID(pthread_mutex_lock(&LOCK_open)); VOID(pthread_mutex_lock(&LOCK_open));
if (lock_table_names(thd, table_list)) if (lock_table_names(thd, table_list))
{
error= TRUE;
goto view_err; goto view_err;
}
error=0; error= FALSE;
if (!do_rename(thd, table_list, new_db, new_name, new_name, 1)) if (!do_rename(thd, table_list, new_db, new_name, new_name, 1))
{ {
if (mysql_bin_log.is_open()) if (mysql_bin_log.is_open())
@ -5555,6 +5558,10 @@ view_err:
error=table->file->disable_indexes(HA_KEY_SWITCH_NONUNIQ_SAVE); error=table->file->disable_indexes(HA_KEY_SWITCH_NONUNIQ_SAVE);
/* COND_refresh will be signaled in close_thread_tables() */ /* COND_refresh will be signaled in close_thread_tables() */
break; break;
default:
DBUG_ASSERT(FALSE);
error= 0;
break;
} }
if (error == HA_ERR_WRONG_COMMAND) if (error == HA_ERR_WRONG_COMMAND)
{ {