diff options
author | unknown <serg@serg.mylan> | 2004-08-19 12:00:03 +0200 |
---|---|---|
committer | unknown <serg@serg.mylan> | 2004-08-19 12:00:03 +0200 |
commit | 283ebce11ab5d0123d0178a52b9e773448bfa932 (patch) | |
tree | e2cba882e2e3efe9bf2feed69fa149d5e0399886 /sql | |
parent | 8001a7db2b516069289db041bdac9cede64892ce (diff) | |
parent | f758ada4bcfdf9b22b1603bc273b5e2a6436037b (diff) | |
download | mariadb-git-283ebce11ab5d0123d0178a52b9e773448bfa932.tar.gz |
Merge bk-internal:/home/bk/mysql-4.0/
into serg.mylan:/usr/home/serg/Abk/mysql-4.0
Diffstat (limited to 'sql')
-rw-r--r-- | sql/sql_class.h | 2 | ||||
-rw-r--r-- | sql/sql_table.cc | 18 |
2 files changed, 10 insertions, 10 deletions
diff --git a/sql/sql_class.h b/sql/sql_class.h index 8284cd23b9e..3c968c6a8ae 100644 --- a/sql/sql_class.h +++ b/sql/sql_class.h @@ -647,7 +647,7 @@ public: 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: diff --git a/sql/sql_table.cc b/sql/sql_table.cc index c09892ac48b..96eebd98ac3 100644 --- a/sql/sql_table.cc +++ b/sql/sql_table.cc @@ -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 |