Commit e5be4a13 authored by unknown's avatar unknown
Browse files

Merge bk@192.168.21.1:/usr/home/bk/mysql-5.0

into deer.(none):/home/hf/work/mysql-5.0.8915


sql/item_func.cc:
  Auto merged
parents b1095fb0 329a3dea
Loading
Loading
Loading
Loading
+19 −7
Original line number Diff line number Diff line
@@ -1629,13 +1629,25 @@ void Item_func_int_val::find_num_type()

longlong Item_func_ceiling::int_op()
{
  /*
    the volatile's for BUG #3051 to calm optimizer down (because of gcc's
    bug)
  */
  volatile double value= args[0]->val_real();
  longlong result;
  switch (args[0]->result_type()) {
  case INT_RESULT:
    result= args[0]->val_int();
    null_value= args[0]->null_value;
  return (longlong) ceil(value);
    break;
  case DECIMAL_RESULT:
  {
    my_decimal dec_buf, *dec;
    if ((dec= decimal_op(&dec_buf)))
      my_decimal2int(E_DEC_FATAL_ERROR, dec, unsigned_flag, &result);
    else
      result= 0;
    break;
  }
  default:
    result= (longlong)real_op();
  };
  return result;
}