1
0
mirror of https://github.com/MariaDB/server.git synced 2025-08-01 03:47:19 +03:00

Made FUNCTIONs work in insert and select queries, as well as nested function invocations.

Had to add a cahing mechanism which is in parts an ugly kludge, but it will be
reworked once the real SP caching is implemented.
This commit is contained in:
pem@mysql.com
2003-03-02 19:17:41 +01:00
parent b6ab762dc1
commit 8049daf202
11 changed files with 259 additions and 41 deletions

View File

@ -46,8 +46,11 @@ public:
int m_type; // TYPE_ENUM_FUNCTION or TYPE_ENUM_PROCEDURE
enum enum_field_types m_returns; // For FUNCTIONs only
my_bool m_simple_case; // TRUE if parsing simple case, FALSE otherwise
#if 0
// We're not using this at the moment.
List<char *> m_calls; // Called procedures.
List<char *> m_tables; // Used tables.
#endif
static void *operator new(size_t size)
{
@ -59,7 +62,7 @@ public:
/* Empty */
}
sp_head(LEX_STRING *name, LEX* lex);
sp_head(LEX_STRING *name, LEX *lex);
int
create(THD *thd);
@ -118,7 +121,7 @@ private:
Item_string *m_name;
Item_string *m_defstr;
LEX *m_call_lex; // The CALL's own lex
sp_pcontext *m_pcont; // Parse context
LEX m_lex; // Temp. store for the other lex
DYNAMIC_ARRAY m_instr; // The "instructions"
typedef struct