summaryrefslogtreecommitdiff
path: root/sql/item.cc
diff options
context:
space:
mode:
authorunknown <ramil@mysql.com>2005-11-30 11:17:25 +0400
committerunknown <ramil@mysql.com>2005-11-30 11:17:25 +0400
commit490a1e2855078d661b584ef690a05ca4defceebd (patch)
tree52f17b933d9481353fbb7a4d8bfe99acc842c9c9 /sql/item.cc
parentd54359ffdada0d949931c7cbe1ba816c3724d49f (diff)
downloadmariadb-git-490a1e2855078d661b584ef690a05ca4defceebd.tar.gz
Addition to fix for bug #12956: cast make differ rounding.
- use rint() in some other val_int() methods as well.
Diffstat (limited to 'sql/item.cc')
-rw-r--r--sql/item.cc4
1 files changed, 2 insertions, 2 deletions
diff --git a/sql/item.cc b/sql/item.cc
index 94dea1a7dd7..8a55049df84 100644
--- a/sql/item.cc
+++ b/sql/item.cc
@@ -2467,7 +2467,7 @@ longlong Item_param::val_int()
{
switch (state) {
case REAL_VALUE:
- return (longlong) (value.real + (value.real > 0 ? 0.5 : -0.5));
+ return (longlong) rint(value.real);
case INT_VALUE:
return value.integer;
case DECIMAL_VALUE:
@@ -5439,7 +5439,7 @@ void Item_cache_real::store(Item *item)
longlong Item_cache_real::val_int()
{
DBUG_ASSERT(fixed == 1);
- return (longlong) (value+(value > 0 ? 0.5 : -0.5));
+ return (longlong) rint(value);
}