Commit 48ff0f4c authored by hf@deer.(none)'s avatar hf@deer.(none)

Fix - to not to call val_xxx in Item_func_interval twice

parent 0a96ef4c
......@@ -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;
my_decimal2double(E_DEC_FATAL_ERROR, dec, &value);
}
else
{
value= row->el(0)->val_real();
if (row->el(0)->null_value)
return -1;
}
if (row->el(0)->null_value)
return -1; // -1 if null
if (intervals)
{ // Use binary search to find interval
uint start,end;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment