diff options
author | cmiller@zippy.cornsilk.net <> | 2008-05-15 19:13:24 -0400 |
---|---|---|
committer | cmiller@zippy.cornsilk.net <> | 2008-05-15 19:13:24 -0400 |
commit | 573828aa6ac81708f3b1281aab89f438450b5671 (patch) | |
tree | 9d471bf2b51fee92b75f3377d183d2a680bb91c9 /sql/sp_head.h | |
parent | 1eb8991a4eb9e9074436f4e40a2456ff3057ae90 (diff) | |
download | mariadb-git-573828aa6ac81708f3b1281aab89f438450b5671.tar.gz |
Bug#36570: Parse error of CREATE PROCEDURE stmt with comments on \
slave
The stored-routine code took the contents of the (lowest) parser
and copied it directly to the binlog, which causes problems if there
is a special case of interpretation at the parser level -- which
there is, in the "/*!VER */" comments. The trailing "*/" caused
errors on the slave, naturally.
Now, since by that point we have /properly/ created parse-tree (as
the rest of the server should do!) for the stored-routine CREATE, we
can construct a perfect statement from that information, instead of
writing uncertain information from an unknown parser state.
Fortunately, there's already a function nearby that does exactly
that.
---
Update for Bug#36570. Qualify routine names with db name when
writing to the binlog ONLY if the source text is qualified.
Diffstat (limited to 'sql/sp_head.h')
-rw-r--r-- | sql/sp_head.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/sql/sp_head.h b/sql/sp_head.h index 0e710196603..11ff7160c03 100644 --- a/sql/sp_head.h +++ b/sql/sp_head.h @@ -121,6 +121,7 @@ public: st_sp_chistics *m_chistics; ulong m_sql_mode; // For SHOW CREATE and execution LEX_STRING m_qname; // db.name + bool m_explicit_name; /**< Prepend the db name? */ /** Key representing routine in the set of stored routines used by statement. [routine_type]db.name\0 |