#At file:///home/malff/BZR-TREE/mysql-5.0-26030/
------------------------------------------------------------
revno: 2644
revision-id: marc.alff@stripped
parent: timothy.smith@stripped
committer: Marc Alff <marc.alff@stripped>
branch nick: mysql-5.0-26030
timestamp: Mon 2008-07-07 10:00:08 -0600
message:
Bug#26030 (Parsing fails for stored routine w/multi-statement execution
enabled)
Before this fix, the lexer and parser would treat the ';' character as a
different token (either ';' or END_OF_INPUT), based on convoluted logic,
which failed in simple cases where a stored procedure is implemented as a
single statement, and used in a multi query.
With this fix:
- the character ';' is always parsed as a ';' token in the lexer,
- parsing multi queries is implemented in the parser, in the 'query:' rules,
- the value of thd->client_capabilities, which is the capabilities
negotiated between the client and the server during bootstrap,
is immutable and not arbitrarily modified during parsing (which was the
root cause of the bug)
added:
mysql-test/r/parser.result parser.result-20080707155630-vdiryhmexytcgu8d-1
mysql-test/t/parser.test parser.test-20080707155639-r5y8iqlookh6z34g-1
modified:
mysql-test/r/comments.result sp1f-comments.result-20001228015633-2ql73oomawbtd5elwbpba222o2swoxjd
mysql-test/r/ps.result sp1f-ps.result-20040405154119-efxzt5onloys45nfjak4gt44kr4awkdi
sql/sp_head.h sp1f-sp_head.h-20021208185920-yrolg3rzamehfoejkbiai4q7njg5w6cd
sql/sql_lex.cc sp1f-sql_lex.cc-19700101030959-4pizwlu5rqkti27gcwsvxkawq6bc2kph
sql/sql_parse.cc sp1f-sql_parse.cc-19700101030959-ehcre3rwhv5l3mlxqhaxg36ujenxnrcd
sql/sql_yacc.yy sp1f-sql_yacc.yy-19700101030959-wvn4qyy2drpmge7kaq3dysprbhlrv27j
Attachment: [text/text/x-diff] patch-2644.diff
| Thread |
|---|
| • bzr commit into mysql-5.0 tree (marc.alff:2644) Bug#26030 | Marc Alff | 7 Jul |