diff options
author | unknown <malff/marcsql@weblab.(none)> | 2007-04-25 21:38:12 -0600 |
---|---|---|
committer | unknown <malff/marcsql@weblab.(none)> | 2007-04-25 21:38:12 -0600 |
commit | 034c11f3cdac8b2b39dd8593d1fbad5b92f98879 (patch) | |
tree | f8e46975bbaed334eddc4cc2ab0c1b752a7b321d /sql/sql_trigger.cc | |
parent | 5e414cd222b1d39eb49371ba28fb990a963017c5 (diff) | |
download | mariadb-git-034c11f3cdac8b2b39dd8593d1fbad5b92f98879.tar.gz |
manual merge 5.0-runtime -> 5.1->runtime, with 25411 part I
Diffstat (limited to 'sql/sql_trigger.cc')
-rw-r--r-- | sql/sql_trigger.cc | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/sql/sql_trigger.cc b/sql/sql_trigger.cc index 7b4deba527a..89ac444efa9 100644 --- a/sql/sql_trigger.cc +++ b/sql/sql_trigger.cc @@ -976,10 +976,14 @@ bool Table_triggers_list::check_n_load(THD *thd, const char *db, LEX_STRING *trg_definer= it_definer++; thd->variables.sql_mode= (ulong)*trg_sql_mode; - lex_start(thd, trg_create_str->str, trg_create_str->length); - thd->spcont= 0; - if (MYSQLparse((void *)thd) || thd->is_fatal_error) + Lex_input_stream lip(thd, trg_create_str->str, trg_create_str->length); + thd->m_lip= &lip; + lex_start(thd); + thd->spcont= 0; + int err= MYSQLparse((void *)thd); + + if (err || thd->is_fatal_error) { /* Currently sphead is always deleted in case of a parse error */ DBUG_ASSERT(lex.sphead == 0); |