summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorunknown <evgen@moonbone.local>2006-06-15 16:39:18 +0400
committerunknown <evgen@moonbone.local>2006-06-15 16:39:18 +0400
commitd3057a3a0fe3a69f22b2b44d53838eda132042ae (patch)
tree65cb6cadff54a2414770631bde07fba62dce68ba
parent2bb56f9b7d3a6838158f0ec0781ad4fe1a8c0b9d (diff)
downloadmariadb-git-d3057a3a0fe3a69f22b2b44d53838eda132042ae.tar.gz
item_cmpfunc.h, cast.result:
Post fix for bug#16377 mysql-test/r/cast.result: Post fix for bug#16377 sql/item_cmpfunc.h: Post fix for bug#16377
-rw-r--r--mysql-test/r/cast.result2
-rw-r--r--sql/item_cmpfunc.h15
2 files changed, 6 insertions, 11 deletions
diff --git a/mysql-test/r/cast.result b/mysql-test/r/cast.result
index 2538fbfd61d..68687670e17 100644
--- a/mysql-test/r/cast.result
+++ b/mysql-test/r/cast.result
@@ -192,7 +192,7 @@ cast("2001-1-1" as datetime) = "2001-01-01 00:00:00"
1
select cast("1:2:3" as TIME) = "1:02:03";
cast("1:2:3" as TIME) = "1:02:03"
-1
+0
select cast(NULL as DATE);
cast(NULL as DATE)
NULL
diff --git a/sql/item_cmpfunc.h b/sql/item_cmpfunc.h
index 08d9de6ffd6..68852b5a5f6 100644
--- a/sql/item_cmpfunc.h
+++ b/sql/item_cmpfunc.h
@@ -43,11 +43,8 @@ public:
int set_compare_func(Item_bool_func2 *owner, Item_result type);
inline int set_compare_func(Item_bool_func2 *owner_arg)
{
- Item_result ar= (*a)->result_as_longlong() && (*b)->const_item() ?
- INT_RESULT : (*a)->result_type();
- Item_result br= (*b)->result_as_longlong() && (*a)->const_item() ?
- INT_RESULT : (*b)->result_type();
- return set_compare_func(owner_arg, item_cmp_type(ar, br));
+ return set_compare_func(owner_arg, item_cmp_type((*a)->result_type(),
+ (*b)->result_type()));
}
inline int set_cmp_func(Item_bool_func2 *owner_arg,
Item **a1, Item **a2,
@@ -60,11 +57,9 @@ public:
inline int set_cmp_func(Item_bool_func2 *owner_arg,
Item **a1, Item **a2)
{
- Item_result ar= (*a1)->result_as_longlong() && (*a2)->const_item() ?
- INT_RESULT : (*a1)->result_type();
- Item_result br= (*a2)->result_as_longlong() && (*a1)->const_item() ?
- INT_RESULT : (*a2)->result_type();
- return set_cmp_func(owner_arg, a1, a2, item_cmp_type(ar, br));
+ return set_cmp_func(owner_arg, a1, a2,
+ item_cmp_type((*a1)->result_type(),
+ (*a2)->result_type()));
}
inline int compare() { return (this->*func)(); }