summaryrefslogtreecommitdiff
path: root/sql/sql_table.cc
diff options
context:
space:
mode:
authorunknown <dlenev@mysql.com>2006-02-26 21:20:13 +0300
committerunknown <dlenev@mysql.com>2006-02-26 21:20:13 +0300
commitac24b2b7282d1fb3575cf1db842a60e7892bd9ef (patch)
treef76cb947bffc7b2e5ea755a09e94bf1bc48af5dc /sql/sql_table.cc
parentf2fd3c2781e889c83f820d8bd5c6a4d25d297b9d (diff)
parent4fb56f153dbc76c7ccb68159ff6e68761400fd73 (diff)
downloadmariadb-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.cc13
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));