diff options
author | unknown <anozdrin/alik@ibm.> | 2007-06-14 18:35:59 +0400 |
---|---|---|
committer | unknown <anozdrin/alik@ibm.> | 2007-06-14 18:35:59 +0400 |
commit | efaaeecaa82710f51516f255105ee973f820f9b9 (patch) | |
tree | 5df007e2bd85f5bc10349ac41c610c1d6a36654d /sql/sql_trigger.cc | |
parent | e615aaff689d0ba939f4b253f4b1ba92eb04d275 (diff) | |
download | mariadb-git-efaaeecaa82710f51516f255105ee973f820f9b9.tar.gz |
The second cleanup patch in scope of BUG#11986.
1. Introduce parse_sql() as a high-level replacement for MYSQLparse().
parse_sql() is responsible to switch and restore "parser context"
(THD::m_lip for now).
2. Fix typo in sp.cc: THD::spcont should be reset *before* calling
the parser.
sql/event_data_objects.cc:
Use parse_sql() instead of MYSQLparse().
sql/mysql_priv.h:
Introduce parse_sql() instead of auto-generated MYSQLparse.
sql/sp.cc:
1. Use parse_sql() instead of MYSQLparse().
2. THD::spcont should be reset before calling the parser.
sql/sql_class.cc:
Reset THD::m_lip.
sql/sql_parse.cc:
1. Introduce parse_sql() instead of auto-generated MYSQLparse().
2. Backup, switch and restore THD::m_lip inside parse_sql().
3. Use parse_sql() instead of MYSQLparse().
sql/sql_partition.cc:
Use parse_sql() instead of MYSQLparse().
sql/sql_prepare.cc:
Use parse_sql() instead of MYSQLparse().
sql/sql_trigger.cc:
Use parse_sql() instead of MYSQLparse().
sql/sql_view.cc:
Use parse_sql() instead of MYSQLparse().
Diffstat (limited to 'sql/sql_trigger.cc')
-rw-r--r-- | sql/sql_trigger.cc | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/sql/sql_trigger.cc b/sql/sql_trigger.cc index f63fcab04bb..ded3a0a6e24 100644 --- a/sql/sql_trigger.cc +++ b/sql/sql_trigger.cc @@ -981,12 +981,10 @@ bool Table_triggers_list::check_n_load(THD *thd, const char *db, thd->variables.sql_mode= (ulong)*trg_sql_mode; 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) + if (parse_sql(thd, &lip)) { /* Currently sphead is always deleted in case of a parse error */ DBUG_ASSERT(lex.sphead == 0); |