summaryrefslogtreecommitdiff
path: root/sql/item_cmpfunc.cc
diff options
context:
space:
mode:
authorMagne Mahre <magne.mahre@sun.com>2009-11-04 11:28:50 +0100
committerMagne Mahre <magne.mahre@sun.com>2009-11-04 11:28:50 +0100
commit948bb3e6dc233abbe964b1dfe508506d51af0c2b (patch)
tree89f1a72c5bd26b657a9b24896dea90ca82b014cc /sql/item_cmpfunc.cc
parent491b8fc755b87c3ef591bed994017f8aecae92b3 (diff)
downloadmariadb-git-948bb3e6dc233abbe964b1dfe508506d51af0c2b.tar.gz
Bug#42664: Sign ignored for TIME types when not comparing as longlong
Another code-path dropped sign of TIME, presuming all time is positive. Minds sign now. Patch depends on ChangeSet for 42661.
Diffstat (limited to 'sql/item_cmpfunc.cc')
-rw-r--r--sql/item_cmpfunc.cc3
1 files changed, 2 insertions, 1 deletions
diff --git a/sql/item_cmpfunc.cc b/sql/item_cmpfunc.cc
index c29031d25b5..07160b8307a 100644
--- a/sql/item_cmpfunc.cc
+++ b/sql/item_cmpfunc.cc
@@ -829,7 +829,8 @@ get_time_value(THD *thd, Item ***item_arg, Item **cache_arg,
else
{
*is_null= item->get_time(&ltime);
- value= !*is_null ? (longlong) TIME_to_ulonglong_datetime(&ltime) : 0;
+ value= !*is_null ? (longlong) TIME_to_ulonglong_datetime(&ltime) *
+ (ltime.neg ? -1 : 1) : 0;
}
/*
Do not cache GET_USER_VAR() function as its const_item() may return TRUE