diff options
Diffstat (limited to 'sql/procedure.h')
-rw-r--r-- | sql/procedure.h | 11 |
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()); } |