summaryrefslogtreecommitdiff
path: root/sql
diff options
context:
space:
mode:
authorJon Olav Hauglid <jon.hauglid@oracle.com>2010-08-26 08:29:27 +0200
committerJon Olav Hauglid <jon.hauglid@oracle.com>2010-08-26 08:29:27 +0200
commit5966e58254ebe63ff13cf7291861ae40fb58e2dd (patch)
treec8b735ae14d64684a85464b68e2dd17a8808afe8 /sql
parent7274ca0c32e35f82e96f9aa69c25a1cc1d6d10b2 (diff)
parente03bc5d7b0961bcafa71823476b7cf8df660bcae (diff)
downloadmariadb-git-5966e58254ebe63ff13cf7291861ae40fb58e2dd.tar.gz
Merge from mysql-5.5-bugfixing to mysql-5.5-runtime.
Diffstat (limited to 'sql')
-rw-r--r--sql/item.cc9
1 files changed, 7 insertions, 2 deletions
diff --git a/sql/item.cc b/sql/item.cc
index 24f57342668..427146e11dc 100644
--- a/sql/item.cc
+++ b/sql/item.cc
@@ -7510,9 +7510,14 @@ String *Item_cache_datetime::val_str(String *str)
return NULL;
if (cached_field_type == MYSQL_TYPE_TIME)
{
- ulonglong time= int_value;
- DBUG_ASSERT(time <= TIME_MAX_VALUE);
+ longlong time= int_value;
set_zero_time(&ltime, MYSQL_TIMESTAMP_TIME);
+ if (time < 0)
+ {
+ time= -time;
+ ltime.neg= TRUE;
+ }
+ DBUG_ASSERT(time <= TIME_MAX_VALUE);
ltime.second= time % 100;
time/= 100;
ltime.minute= time % 100;