Commit 8afec7fe authored by unknown's avatar unknown

Merge bk-internal:/home/bk/mysql-4.0/

into serg.mylan:/usr/home/serg/Abk/mysql-4.0
parents a016c0fb ca0257f9
......@@ -647,7 +647,7 @@ class THD :public ilink
so we internally disable it temporarily by creating the Disable_binlog
object and reset the state by destroying the object (don't forget that! or
write code so that the object gets automatically destroyed when leaving a
function...).
block, see example in sql_table.cc).
*/
class Disable_binlog {
private:
......
......@@ -1762,7 +1762,6 @@ int mysql_alter_table(THD *thd,char *new_db, char *new_name,
List_iterator<Key> key_it(keys);
List_iterator<create_field> field_it(create_list);
List<key_part_spec> key_parts;
Disable_binlog *disable_binlog;
KEY *key_info=table->key_info;
for (uint i=0 ; i < table->keys ; i++,key_info++)
......@@ -1925,16 +1924,17 @@ int mysql_alter_table(THD *thd,char *new_db, char *new_name,
}
else
create_info->data_file_name=create_info->index_file_name=0;
/* We don't log the statement, it will be logged later */
disable_binlog= new Disable_binlog(thd);
if ((error=mysql_create_table(thd, new_db, tmp_name,
create_info,
create_list,key_list,1)))
{
delete disable_binlog;
DBUG_RETURN(error);
/*
We don't log the statement, it will be logged later. Using a block so
that disable_binlog is deleted when we leave it in either way.
*/
Disable_binlog disable_binlog(thd);
if ((error=mysql_create_table(thd, new_db, tmp_name,
create_info,
create_list,key_list,1)))
DBUG_RETURN(error);
}
delete disable_binlog; // reset binlogging properties for next code lines
if (table->tmp_table)
new_table=open_table(thd,new_db,tmp_name,tmp_name,0);
else
......
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