diff options
author | monty@mysql.com <> | 2005-07-29 03:33:04 +0300 |
---|---|---|
committer | monty@mysql.com <> | 2005-07-29 03:33:04 +0300 |
commit | 8427dfd46e201f48f80f6f9b1a69c4329e840d35 (patch) | |
tree | 9b70a91936535a6a17843bc0d43e1b518371ed34 /sql/sql_trigger.cc | |
parent | ef1de7da1d0c4dd833f3f951e41c504922e5151b (diff) | |
parent | c0fcabce452cc7b9fc254b3c7579bf3ef1c8b58f (diff) | |
download | mariadb-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.cc | 9 |
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); } |