summaryrefslogtreecommitdiff
path: root/sql/item_strfunc.h
diff options
context:
space:
mode:
Diffstat (limited to 'sql/item_strfunc.h')
-rw-r--r--sql/item_strfunc.h26
1 files changed, 26 insertions, 0 deletions
diff --git a/sql/item_strfunc.h b/sql/item_strfunc.h
index 85910f45c77..efff9d93941 100644
--- a/sql/item_strfunc.h
+++ b/sql/item_strfunc.h
@@ -40,6 +40,7 @@ public:
if (!t_arg) return result_field;
return (max_length > 255) ? (Field *)new Field_blob(max_length,maybe_null, name,t_arg, binary) : (Field *) new Field_string(max_length,maybe_null, name,t_arg, binary);
}
+ virtual unsigned int size_of () { return sizeof(*this);}
};
class Item_func_md5 :public Item_str_func
@@ -50,6 +51,7 @@ public:
String *val_str(String *);
void fix_length_and_dec();
const char *func_name() const { return "md5"; }
+ virtual unsigned int size_of () { return sizeof(*this);}
};
class Item_func_sha :public Item_str_func
@@ -89,6 +91,7 @@ public:
String *val_str(String *);
void fix_length_and_dec();
const char *func_name() const { return "concat"; }
+ virtual unsigned int size_of () { return sizeof(*this);}
};
class Item_func_concat_ws :public Item_str_func
@@ -109,6 +112,7 @@ public:
|| Item_func::fix_fields(thd,tlist));
}
const char *func_name() const { return "concat_ws"; }
+ virtual unsigned int size_of () { return sizeof(*this);}
};
class Item_func_reverse :public Item_str_func
@@ -129,6 +133,7 @@ public:
String *val_str(String *);
void fix_length_and_dec();
const char *func_name() const { return "replace"; }
+ virtual unsigned int size_of () { return sizeof(*this);}
};
@@ -141,6 +146,7 @@ public:
String *val_str(String *);
void fix_length_and_dec();
const char *func_name() const { return "insert"; }
+ virtual unsigned int size_of () { return sizeof(*this);}
};
@@ -187,6 +193,7 @@ public:
String *val_str(String *);
void fix_length_and_dec();
const char *func_name() const { return "right"; }
+ virtual unsigned int size_of () { return sizeof(*this);}
};
@@ -199,6 +206,7 @@ public:
String *val_str(String *);
void fix_length_and_dec();
const char *func_name() const { return "substr"; }
+ virtual unsigned int size_of () { return sizeof(*this);}
};
@@ -210,6 +218,7 @@ public:
String *val_str(String *);
void fix_length_and_dec() { max_length= args[0]->max_length; }
const char *func_name() const { return "substr_index"; }
+ virtual unsigned int size_of () { return sizeof(*this);}
};
@@ -221,6 +230,7 @@ public:
String *val_str(String *);
void fix_length_and_dec() { max_length= args[0]->max_length; }
const char *func_name() const { return "ltrim"; }
+ virtual unsigned int size_of () { return sizeof(*this);}
};
@@ -232,6 +242,7 @@ public:
String *val_str(String *);
void fix_length_and_dec() { max_length= args[0]->max_length; }
const char *func_name() const { return "rtrim"; }
+ virtual unsigned int size_of () { return sizeof(*this);}
};
class Item_func_trim :public Item_str_func
@@ -242,6 +253,7 @@ public:
String *val_str(String *);
void fix_length_and_dec() { max_length= args[0]->max_length; }
const char *func_name() const { return "trim"; }
+ virtual unsigned int size_of () { return sizeof(*this);}
};
@@ -253,6 +265,7 @@ public:
String *val_str(String *);
void fix_length_and_dec() { max_length = 16; }
const char *func_name() const { return "password"; }
+ virtual unsigned int size_of () { return sizeof(*this);}
};
class Item_func_des_encrypt :public Item_str_func
@@ -265,6 +278,7 @@ public:
void fix_length_and_dec()
{ maybe_null=1; max_length = args[0]->max_length+8; }
const char *func_name() const { return "des_encrypt"; }
+ virtual unsigned int size_of () { return sizeof(*this);}
};
class Item_func_des_decrypt :public Item_str_func
@@ -276,6 +290,7 @@ public:
String *val_str(String *);
void fix_length_and_dec() { maybe_null=1; max_length = args[0]->max_length; }
const char *func_name() const { return "des_decrypt"; }
+ virtual unsigned int size_of () { return sizeof(*this);}
};
class Item_func_encrypt :public Item_str_func
@@ -286,6 +301,7 @@ public:
Item_func_encrypt(Item *a, Item *b): Item_str_func(a,b) {}
String *val_str(String *);
void fix_length_and_dec() { maybe_null=1; max_length = 13; }
+ virtual unsigned int size_of () { return sizeof(*this);}
};
#include "sql_crypt.h"
@@ -299,6 +315,7 @@ public:
Item_str_func(a),sql_crypt(seed) {}
String *val_str(String *);
void fix_length_and_dec();
+ virtual unsigned int size_of () { return sizeof(*this);}
};
class Item_func_decode :public Item_func_encode
@@ -336,6 +353,7 @@ public:
String *val_str(String *);
void fix_length_and_dec();
const char *func_name() const { return "soundex"; }
+ virtual unsigned int size_of () { return sizeof(*this);}
};
@@ -356,6 +374,7 @@ public:
void fix_length_and_dec();
void update_used_tables();
const char *func_name() const { return "elt"; }
+ virtual unsigned int size_of () { return sizeof(*this);}
};
@@ -375,6 +394,7 @@ public:
void fix_length_and_dec();
void update_used_tables();
const char *func_name() const { return "make_set"; }
+ virtual unsigned int size_of () { return sizeof(*this);}
};
@@ -389,6 +409,7 @@ public:
max_length=args[0]->max_length+(args[0]->max_length-args[0]->decimals)/3;
}
const char *func_name() const { return "format"; }
+ virtual unsigned int size_of () { return sizeof(*this);}
};
@@ -410,6 +431,7 @@ public:
String *val_str(String *);
void fix_length_and_dec();
const char *func_name() const { return "repeat"; }
+ virtual unsigned int size_of () { return sizeof(*this);}
};
@@ -422,6 +444,7 @@ public:
String *val_str(String *);
void fix_length_and_dec();
const char *func_name() const { return "rpad"; }
+ virtual unsigned int size_of () { return sizeof(*this);}
};
@@ -434,6 +457,7 @@ public:
String *val_str(String *);
void fix_length_and_dec();
const char *func_name() const { return "lpad"; }
+ virtual unsigned int size_of () { return sizeof(*this);}
};
@@ -455,6 +479,7 @@ public:
const char *func_name() const { return "hex"; }
String *val_str(String *);
void fix_length_and_dec() { decimals=0; max_length=args[0]->max_length*2; }
+ virtual unsigned int size_of () { return sizeof(*this);}
};
@@ -479,6 +504,7 @@ public:
const char *func_name() const { return "load_file"; }
void fix_length_and_dec()
{ binary=1; maybe_null=1; max_length=MAX_BLOB_WIDTH;}
+ virtual unsigned int size_of () { return sizeof(*this);}
};