Commit bc9de3d4 authored by unknown's avatar unknown
Browse files

fixed Bug #3051 "FLOOR returns invalid"


mysql-test/r/func_math.result:
  added test for Bug #3051 "FLOOR returns invalid"
mysql-test/t/func_math.test:
  added test for Bug #3051 "FLOOR returns invalid"
parent 709325d1
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -32,3 +32,9 @@ ASIN(0.8+0.2)
1.570796
ASIN(1.2-0.2)
1.570796
floor(log(4)/log(2))
2
floor(log(8)/log(2))
3
floor(log(16)/log(2))
4
+8 −0
Original line number Diff line number Diff line
@@ -24,3 +24,11 @@ SELECT ACOS(0.2*5.0);
SELECT ACOS(0.5*2.0);
SELECT ASIN(0.8+0.2);
SELECT ASIN(1.2-0.2);

#
# Bug #3051 FLOOR returns invalid 
#

select floor(log(4)/log(2));
select floor(log(8)/log(2));
select floor(log(16)/log(2));
+2 −1
Original line number Diff line number Diff line
@@ -572,7 +572,8 @@ longlong Item_func_ceiling::val_int()

longlong Item_func_floor::val_int()
{
  double value=args[0]->val();
  // the volatile's for BUG #3051 to calm optimizer down (because of gcc's bug)
  volatile double value=args[0]->val();
  null_value=args[0]->null_value;
  return (longlong) floor(value);
}