summaryrefslogtreecommitdiff
path: root/sql/procedure.h
diff options
context:
space:
mode:
Diffstat (limited to 'sql/procedure.h')
-rw-r--r--sql/procedure.h11
1 files changed, 8 insertions, 3 deletions
diff --git a/sql/procedure.h b/sql/procedure.h
index a46e8cfc137..b9d5066bb3d 100644
--- a/sql/procedure.h
+++ b/sql/procedure.h
@@ -48,15 +48,17 @@ public:
virtual void set(longlong nr)=0;
virtual enum_field_types field_type() const=0;
void set(const char *str) { set(str,(uint) strlen(str), default_charset()); }
- void make_field(Send_field *tmp_field)
+ void make_field(THD *thd, Send_field *tmp_field)
{
init_make_field(tmp_field,field_type());
}
unsigned int size_of() { return sizeof(*this);}
- bool check_vcol_func_processor(uchar *int_arg)
+ bool check_vcol_func_processor(void *arg)
{
- return trace_unsupported_by_check_vcol_func_processor("proc");
+ DBUG_ASSERT(0); // impossible
+ return mark_unsupported_function("proc", arg, VCOL_IMPOSSIBLE);
}
+ Item* get_copy(THD *thd, MEM_ROOT *mem_root) { return 0; }
};
class Item_proc_real :public Item_proc
@@ -69,6 +71,7 @@ public:
decimals=dec; max_length=float_length(dec);
}
enum Item_result result_type () const { return REAL_RESULT; }
+ enum Item_result cmp_type () const { return REAL_RESULT; }
enum_field_types field_type() const { return MYSQL_TYPE_DOUBLE; }
void set(double nr) { value=nr; }
void set(longlong nr) { value=(double) nr; }
@@ -96,6 +99,7 @@ public:
Item_proc_int(THD *thd, const char *name_par): Item_proc(thd, name_par)
{ max_length=11; }
enum Item_result result_type () const { return INT_RESULT; }
+ enum Item_result cmp_type () const { return INT_RESULT; }
enum_field_types field_type() const { return MYSQL_TYPE_LONGLONG; }
void set(double nr) { value=(longlong) nr; }
void set(longlong nr) { value=nr; }
@@ -115,6 +119,7 @@ public:
Item_proc_string(THD *thd, const char *name_par, uint length):
Item_proc(thd, name_par) { this->max_length=length; }
enum Item_result result_type () const { return STRING_RESULT; }
+ enum Item_result cmp_type () const { return STRING_RESULT; }
enum_field_types field_type() const { return MYSQL_TYPE_VARCHAR; }
void set(double nr) { str_value.set_real(nr, 2, default_charset()); }
void set(longlong nr) { str_value.set(nr, default_charset()); }