summaryrefslogtreecommitdiff
path: root/sql/sp_head.h
diff options
context:
space:
mode:
authorunknown <acurtis@ltantony.rdg.cyberkinetica.homeunix.net>2005-03-08 22:32:09 +0000
committerunknown <acurtis@ltantony.rdg.cyberkinetica.homeunix.net>2005-03-08 22:32:09 +0000
commitce16c895c243107b66507242539544d5bbec8841 (patch)
treea0cecfd9009503e0a1a4a4e424a679143292ab71 /sql/sp_head.h
parentfe3a425a94dd321844fab1867811016b9e5343c7 (diff)
parent1220069c537a733b233c446e27aec9f9247aef31 (diff)
downloadmariadb-git-ce16c895c243107b66507242539544d5bbec8841.tar.gz
Merge in fix Bug#3788
mysql-test/r/information_schema.result: Auto merged mysql-test/t/sp.test: Auto merged sql/item.cc: Auto merged sql/item_func.cc: Auto merged sql/item_func.h: Auto merged sql/mysql_priv.h: Auto merged sql/sp.cc: Auto merged sql/sp_head.cc: Auto merged sql/sp_head.h: Auto merged sql/sql_parse.cc: Auto merged sql/sql_table.cc: Auto merged sql/sql_yacc.yy: Auto merged mysql-test/r/sp.result: Merge BitKeeper/etc/logging_ok: Logging to logging@openlogging.org accepted
Diffstat (limited to 'sql/sp_head.h')
-rw-r--r--sql/sp_head.h15
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,