summaryrefslogtreecommitdiff
path: root/sql/sql_trigger.cc
diff options
context:
space:
mode:
authorunknown <malff/marcsql@weblab.(none)>2007-04-25 21:38:12 -0600
committerunknown <malff/marcsql@weblab.(none)>2007-04-25 21:38:12 -0600
commit034c11f3cdac8b2b39dd8593d1fbad5b92f98879 (patch)
treef8e46975bbaed334eddc4cc2ab0c1b752a7b321d /sql/sql_trigger.cc
parent5e414cd222b1d39eb49371ba28fb990a963017c5 (diff)
downloadmariadb-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.cc10
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);