summaryrefslogtreecommitdiff
path: root/sql/item.h
diff options
context:
space:
mode:
Diffstat (limited to 'sql/item.h')
-rw-r--r--sql/item.h37
1 files changed, 37 insertions, 0 deletions
diff --git a/sql/item.h b/sql/item.h
index afa439dff32..b3dbc0ce46f 100644
--- a/sql/item.h
+++ b/sql/item.h
@@ -669,6 +669,17 @@ public:
};
+class Item_static_int_func :public Item_int
+{
+ const char *func_name;
+public:
+ Item_static_int_func(const char *str_arg, longlong i, uint length)
+ :Item_int(NullS, i, length), func_name(str_arg)
+ {}
+ void print(String *str) { str->append(func_name); }
+};
+
+
class Item_uint :public Item_int
{
public:
@@ -724,6 +735,18 @@ public:
};
+class Item_static_real_func :public Item_real
+{
+ const char *func_name;
+public:
+ Item_static_real_func(const char *str, double val_arg, uint decimal_par,
+ uint length)
+ :Item_real(NullS, val_arg, decimal_par, length), func_name(str)
+ {}
+ void print(String *str) { str->append(func_name); }
+};
+
+
class Item_float :public Item_real
{
public:
@@ -803,6 +826,20 @@ public:
void cleanup() {}
};
+
+class Item_static_string_func :public Item_string
+{
+ const char *func_name;
+public:
+ Item_static_string_func(const char *name_par, const char *str, uint length,
+ CHARSET_INFO *cs,
+ Derivation dv= DERIVATION_COERCIBLE)
+ :Item_string(NullS, str, length, cs, dv), func_name(name_par)
+ {}
+ void print(String *str) { str->append(func_name); }
+};
+
+
/* for show tables */
class Item_datetime :public Item_string