Commit 04bae3c0 authored by unknown's avatar unknown
Browse files

Fix - to not to call val_xxx in Item_func_interval twice


sql/item_cmpfunc.cc:
  code fixed not to call val_x twice
parent b1f5ed9d
Loading
Loading
Loading
Loading
+12 −3
Original line number Diff line number Diff line
@@ -895,15 +895,24 @@ void Item_func_interval::fix_length_and_dec()
longlong Item_func_interval::val_int()
{
  DBUG_ASSERT(fixed == 1);
  double value= row->el(0)->val_real();
  double value;
  my_decimal dec_buf, *dec= NULL;
  uint i;

  if (use_decimal_comparison)
  {
    dec= row->el(0)->val_decimal(&dec_buf);

    if (row->el(0)->null_value)
    return -1;				// -1 if null
      return -1;
    my_decimal2double(E_DEC_FATAL_ERROR, dec, &value);
  }
  else
  {
    value= row->el(0)->val_real();
    if (row->el(0)->null_value)
      return -1;
  }

  if (intervals)
  {					// Use binary search to find interval
    uint start,end;