diff options
Diffstat (limited to 'sql/sp_head.h')
-rw-r--r-- | sql/sp_head.h | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/sql/sp_head.h b/sql/sp_head.h index 60979a438cb..ee41b1efc83 100644 --- a/sql/sp_head.h +++ b/sql/sp_head.h @@ -84,6 +84,9 @@ public: int m_type; // TYPE_ENUM_FUNCTION or TYPE_ENUM_PROCEDURE enum enum_field_types m_returns; // For FUNCTIONs only CHARSET_INFO *m_returns_cs; // For FUNCTIONs only + TYPELIB *m_returns_typelib; // For FUNCTIONs only + uint m_returns_len; // For FUNCTIONs only + uint m_returns_pack; // For FUNCTIONs only my_bool m_has_return; // For FUNCTIONs only my_bool m_simple_case; // TRUE if parsing simple case, FALSE otherwise my_bool m_multi_results; // TRUE if a procedure with SELECT(s) @@ -96,7 +99,6 @@ public: LEX_STRING m_db; LEX_STRING m_name; LEX_STRING m_params; - LEX_STRING m_retstr; // For FUNCTIONs only LEX_STRING m_body; LEX_STRING m_defstr; LEX_STRING m_definer_user; @@ -112,8 +114,7 @@ public: */ HASH m_spfuns, m_spprocs; // Pointers set during parsing - uchar *m_param_begin, *m_param_end, *m_returns_begin, *m_returns_end, - *m_body_begin; + uchar *m_param_begin, *m_param_end, *m_body_begin; static void * operator new(size_t size); @@ -131,6 +132,9 @@ public: void init_strings(THD *thd, LEX *lex, sp_name *name); + TYPELIB * + create_typelib(List<String> *src); + int create(THD *thd); @@ -204,10 +208,7 @@ public: char *create_string(THD *thd, ulong *lenp); - inline Item_result result() - { - return sp_map_result_type(m_returns); - } + Field *make_field(uint max_length, const char *name, TABLE *dummy); void set_info(char *definer, uint definerlen, longlong created, longlong modified, |