diff options
author | unknown <dlenev@mysql.com> | 2006-02-26 21:20:13 +0300 |
---|---|---|
committer | unknown <dlenev@mysql.com> | 2006-02-26 21:20:13 +0300 |
commit | ac24b2b7282d1fb3575cf1db842a60e7892bd9ef (patch) | |
tree | f76cb947bffc7b2e5ea755a09e94bf1bc48af5dc /sql/sql_table.cc | |
parent | f2fd3c2781e889c83f820d8bd5c6a4d25d297b9d (diff) | |
parent | 4fb56f153dbc76c7ccb68159ff6e68761400fd73 (diff) | |
download | mariadb-git-ac24b2b7282d1fb3575cf1db842a60e7892bd9ef.tar.gz |
Merge bk-internal.mysql.com:/home/bk/mysql-5.0-runtime
into mysql.com:/home/dlenev/src/mysql-5.0-bg13525
sql/sql_table.cc:
Auto merged
Diffstat (limited to 'sql/sql_table.cc')
-rw-r--r-- | sql/sql_table.cc | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/sql/sql_table.cc b/sql/sql_table.cc index 7795b07936a..b70bad40c4e 100644 --- a/sql/sql_table.cc +++ b/sql/sql_table.cc @@ -3293,6 +3293,13 @@ bool mysql_alter_table(THD *thd,char *new_db, char *new_name, close_cached_table(thd, table); if (mysql_rename_table(old_db_type,db,table_name,new_db,new_alias)) error= -1; + else if (Table_triggers_list::change_table_name(thd, db, table_name, + new_db, new_alias)) + { + VOID(mysql_rename_table(old_db_type, new_db, new_alias, db, + table_name)); + error= -1; + } } VOID(pthread_mutex_unlock(&LOCK_open)); } @@ -3841,7 +3848,11 @@ bool mysql_alter_table(THD *thd,char *new_db, char *new_name, VOID(quick_rm_table(new_db_type,new_db,tmp_name)); } else if (mysql_rename_table(new_db_type,new_db,tmp_name,new_db, - new_alias)) + new_alias) || + (new_name != table_name || new_db != db) && // we also do rename + Table_triggers_list::change_table_name(thd, db, table_name, + new_db, new_alias)) + { // Try to get everything back error=1; VOID(quick_rm_table(new_db_type,new_db,new_alias)); |