summaryrefslogtreecommitdiff
path: root/sql/sql_trigger.cc
diff options
context:
space:
mode:
authormonty@mysql.com <>2005-07-29 03:33:04 +0300
committermonty@mysql.com <>2005-07-29 03:33:04 +0300
commit8427dfd46e201f48f80f6f9b1a69c4329e840d35 (patch)
tree9b70a91936535a6a17843bc0d43e1b518371ed34 /sql/sql_trigger.cc
parentef1de7da1d0c4dd833f3f951e41c504922e5151b (diff)
parentc0fcabce452cc7b9fc254b3c7579bf3ef1c8b58f (diff)
downloadmariadb-git-8427dfd46e201f48f80f6f9b1a69c4329e840d35.tar.gz
Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/home/my/mysql-5.0
Diffstat (limited to 'sql/sql_trigger.cc')
-rw-r--r--sql/sql_trigger.cc9
1 files changed, 9 insertions, 0 deletions
diff --git a/sql/sql_trigger.cc b/sql/sql_trigger.cc
index ee16b219421..976fac3d9c9 100644
--- a/sql/sql_trigger.cc
+++ b/sql/sql_trigger.cc
@@ -520,6 +520,7 @@ bool Table_triggers_list::check_n_load(THD *thd, const char *db,
char path_buff[FN_REFLEN];
LEX_STRING path;
File_parser *parser;
+ LEX_STRING save_db;
DBUG_ENTER("Table_triggers_list::check_n_load");
@@ -580,6 +581,10 @@ bool Table_triggers_list::check_n_load(THD *thd, const char *db,
thd->lex= &lex;
+ save_db.str= thd->db;
+ save_db.length= thd->db_length;
+ thd->db_length= strlen(db);
+ thd->db= (char *) db;
while ((trg_create_str= it++))
{
lex_start(thd, (uchar*)trg_create_str->str, trg_create_str->length);
@@ -622,6 +627,8 @@ bool Table_triggers_list::check_n_load(THD *thd, const char *db,
lex_end(&lex);
}
+ thd->db= save_db.str;
+ thd->db_length= save_db.length;
thd->lex= old_lex;
DBUG_RETURN(0);
@@ -630,6 +637,8 @@ err_with_lex_cleanup:
// QQ: anything else ?
lex_end(&lex);
thd->lex= old_lex;
+ thd->db= save_db.str;
+ thd->db_length= save_db.length;
DBUG_RETURN(1);
}