summaryrefslogtreecommitdiff
path: root/sql/sp_pcontext.cc
Commit message (Collapse)AuthorAgeFilesLines
...
* Fixed the broken backpatching implementation.unknown2002-12-161-3/+6
| | | | | | | | | | | | | | | | | | | Implemented IF-THEN-ELSE. sql/sp_head.cc: Reimplemented the broken backpatching, so it works for nested constructions and IF-THEN-ELSE too. sql/sp_head.h: Reimplemented the broken backpatching, so it works for nested constructions and IF-THEN-ELSE too. sql/sp_pcontext.cc: Return the value from push-methods, for convenience. sql/sp_pcontext.h: Return the value from push-methods, for convenience. sql/sql_yacc.yy: Implemented IF-THEN-ELSE. Corrected for the new backpatch method.
* Fixed bugs in the parameter evaluation and modified the execution engineunknown2002-12-111-1/+41
| | | | | | | | | | | | | | | | | | | | | | | for better jump support. Some flow control support added too (but not complete). sql/lex.h: Added more keywords for embedded SQL. sql/sp_head.cc: Fixed bugs in the parameter evaluation. Modified execute() for better jump support. Added jump instruction and backpatch support. sql/sp_head.h: Fixed bugs in the parameter evaluation. Modified execute() for better jump support. Added jump instruction and backpatch support. sql/sp_pcontext.cc: Added label support. sql/sp_pcontext.h: Added label support. sql/sql_yacc.yy: Outlined flow control constructs (parses, but nothing generated yet).
* Simplistic, experimental framework for Stored Procedures (SPs).unknown2002-12-081-0/+91
Implements creation and dropping of PROCEDUREs, IN, OUT, and INOUT parameters, single-statement procedures, rudimentary multi-statement (begin-end) prodedures (when the client can handle it), and local variables. Missing most of the embedded SQL language, all attributes, FUNCTIONs, error handling, reparses procedures at each call (no caching), etc, etc. Certainly buggy too, but procedures can actually be created and called.... sql/Makefile.am: Added SP files. sql/item.cc: Added this*_item() methods for Item_splocal. (SP local variable) sql/item.h: Added this*_item() methods for SPs in Item, and the new Item_splocal class (SP local variable). sql/lex.h: Added new symbols for SPs. (Note: SPSET is temporary and will go away later.) sql/sql_class.cc: Initialize SP runtime context in THD. sql/sql_class.h: Add SP runtime context to THD. sql/sql_lex.cc: Init. buf pointer to beginning of command (needed by SPs). Also initialize SP head and parse time context. sql/sql_lex.h: New SQLCOM_ tags for SPs, and added pointer to beginning of command pointer and SP head and parse-time context to LEX. sql/sql_parse.cc: Added SQLCOM_CREATE_PROCEDURE, _CALL, _ALTER_PROCEDURE and _DROP_PROCEDURE cases. (Still rudimentary and lacking proper error handling...) sql/sql_yacc.yy: Lots and lots of additions for SPs... (Still even more missing, and no error messages...)