summaryrefslogtreecommitdiff
path: root/sql/item_func.h
diff options
context:
space:
mode:
Diffstat (limited to 'sql/item_func.h')
-rw-r--r--sql/item_func.h21
1 files changed, 21 insertions, 0 deletions
diff --git a/sql/item_func.h b/sql/item_func.h
index 23cdf7082cf..648ca6d0743 100644
--- a/sql/item_func.h
+++ b/sql/item_func.h
@@ -181,6 +181,27 @@ public:
void fix_length_and_dec() { decimals=0; max_length=21; }
};
+class Item_func_signed :public Item_int_func
+{
+public:
+ Item_func_signed(Item *a) :Item_int_func(a) {}
+ double val() { return args[0]->val(); }
+ longlong val_int() { return args[0]->val_int(); }
+ void fix_length_and_dec()
+ { decimals=0; max_length=args[0]->max_length; unsigned_flag=0; }
+};
+
+class Item_func_unsigned :public Item_int_func
+{
+public:
+ Item_func_unsigned(Item *a) :Item_int_func(a) {}
+ double val() { return args[0]->val(); }
+ longlong val_int() { return args[0]->val_int(); }
+ void fix_length_and_dec()
+ { decimals=0; max_length=args[0]->max_length; unsigned_flag=1; }
+};
+
+
class Item_func_plus :public Item_num_op
{
public: