summaryrefslogtreecommitdiff
path: root/sql/item_func.h
diff options
context:
space:
mode:
authorunknown <igor@igor-inspiron.creware.com>2005-06-02 07:27:02 -0700
committerunknown <igor@igor-inspiron.creware.com>2005-06-02 07:27:02 -0700
commit21989e7d4e281b67f060d61fdd0dd4fa2b4eba54 (patch)
treeacc83f06df7a19c62761f098edfd9c4d26d8d57c /sql/item_func.h
parent190aafb4d9760976b212db51f2f56c41f16cc376 (diff)
downloadmariadb-git-21989e7d4e281b67f060d61fdd0dd4fa2b4eba54.tar.gz
item_func.h:
Fixed bug #9939: a wrong conversion of arguments for functions COALESCE and IFNULL. The str_op virtual method was added into Item_func_numhybrid. item_func.cc: Fixed bug #9939: a wrong conversion of arguments for functions COALESCE and IFNULL. The str_op virtual method was added into Item_func_numhybrid. item_cmpfunc.h, item_cmpfunc.cc: Fixed bug #9939: a wrong conversion of arguments for functions COALESCE and IFNULL. Item_func_coalesce and Item_func_ifnull now inherit from a modified Item_func_numhybrid. case.test, case.result: Added test cases for bug #9939. mysql-test/r/case.result: Added test cases for bug #9939. mysql-test/t/case.test: Added test cases for bug #9939. sql/item_cmpfunc.cc: Fixed bug #9939: a wrong conversion of arguments for functions COALESCE and IFNULL. Item_func_coalesce and Item_func_ifnull now inherit from a modified Item_func_numhybrid. sql/item_cmpfunc.h: Fixed bug #9939: a wrong conversion of arguments for functions COALESCE and IFNULL. Item_func_coalesce and Item_func_ifnull now inherit from a modified Item_func_numhybrid. sql/item_func.cc: Fixed bug #9939: a wrong conversion of arguments for functions COALESCE and IFNULL. The str_op virtual method was added into Item_func_numhybrid. sql/item_func.h: Fixed bug #9939: a wrong conversion of arguments for functions COALESCE and IFNULL. he str_op virtual method was added into Item_func_numhybrid. BitKeeper/etc/logging_ok: Logging to logging@openlogging.org accepted
Diffstat (limited to 'sql/item_func.h')
-rw-r--r--sql/item_func.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/sql/item_func.h b/sql/item_func.h
index b53f2a0b9c6..797aec952f9 100644
--- a/sql/item_func.h
+++ b/sql/item_func.h
@@ -194,6 +194,9 @@ public:
Item_func_numhybrid(Item *a,Item *b)
:Item_func(a,b),hybrid_type(REAL_RESULT)
{}
+ Item_func_numhybrid(List<Item> &list)
+ :Item_func(list),hybrid_type(REAL_RESULT)
+ {}
enum Item_result result_type () const { return hybrid_type; }
void fix_length_and_dec();
@@ -208,6 +211,7 @@ public:
virtual longlong int_op()= 0;
virtual double real_op()= 0;
virtual my_decimal *decimal_op(my_decimal *)= 0;
+ virtual String *str_op(String *)= 0;
bool is_null() { (void) val_real(); return null_value; }
};
@@ -220,6 +224,7 @@ public:
void fix_num_length_and_dec();
void find_num_type();
+ String *str_op(String *str) { DBUG_ASSERT(0); return 0; }
};
@@ -231,6 +236,7 @@ class Item_num_op :public Item_func_numhybrid
virtual void result_precision()= 0;
void print(String *str) { print_op(str); }
void find_num_type();
+ String *str_op(String *str) { DBUG_ASSERT(0); return 0; }
};