diff options
author | Magne Mahre <magne.mahre@sun.com> | 2009-11-04 09:53:38 +0100 |
---|---|---|
committer | Magne Mahre <magne.mahre@sun.com> | 2009-11-04 09:53:38 +0100 |
commit | b1006c87f7acf3f778f93f97254a7f0bc2308ed0 (patch) | |
tree | 54a1766fc1ae03a4db0023de6e08c692d849c623 /sql | |
parent | b79b3c6581786ded0a24b08d27c8073d48fcf75a (diff) | |
parent | 4e0e0db47ece92a2bd66ba674260aa8dcaa3806c (diff) | |
download | mariadb-git-b1006c87f7acf3f778f93f97254a7f0bc2308ed0.tar.gz |
Bug#42661: sec_to_time() and signedness
Bug#42662: maketime() and signedness
Item_time_typecast::val_int() dropped sign from
MYSQL_TIME gotten using from get_time().
Propagates sign now.
Backported to 5.5.0 (6.0-codebase revid: 1810.3897.1)
Diffstat (limited to 'sql')
-rw-r--r-- | sql/item_timefunc.cc | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/sql/item_timefunc.cc b/sql/item_timefunc.cc index b5dddc38d2a..8152d4bc5df 100644 --- a/sql/item_timefunc.cc +++ b/sql/item_timefunc.cc @@ -1802,7 +1802,7 @@ longlong Item_func_sec_to_time::val_int() sec_to_time(arg_val, args[0]->unsigned_flag, <ime); return (ltime.neg ? -1 : 1) * - ((ltime.hour)*10000 + ltime.minute*100 + ltime.second); + (longlong) ((ltime.hour)*10000 + ltime.minute*100 + ltime.second); } @@ -2614,7 +2614,8 @@ longlong Item_time_typecast::val_int() null_value= 1; return 0; } - return ltime.hour * 10000L + ltime.minute * 100 + ltime.second; + return (ltime.neg ? -1 : 1) * + (longlong) ((ltime.hour)*10000 + ltime.minute*100 + ltime.second); } String *Item_time_typecast::val_str(String *str) |