Commit 8e23f54f authored by ram@mysql.r18.ru's avatar ram@mysql.r18.ru

backport fix for the bug #803: INTERVAL(NULL, ....)

parent f7570df1
......@@ -27,4 +27,4 @@ find_in_set("abc","abc") find_in_set("ab","abc") find_in_set("abcd","abc")
1 0 0
select interval(null, 1, 10, 100);
interval(null, 1, 10, 100)
NULL
-1
......@@ -311,7 +311,7 @@ void Item_func_interval::split_sum_func(List<Item> &fields)
}
/*
return NULL if null value,
return -1 if null value,
0 if lower than lowest
1 - arg_count if between args[n] and args[n+1]
arg_count+1 if higher than biggest argument
......@@ -321,10 +321,7 @@ longlong Item_func_interval::val_int()
{
double value= item->val();
if (item->null_value)
{
null_value= 1;
return -1;
}
return -1; // -1 if NULL
if (intervals)
{ // Use binary search to find interval
uint start= 0, end= arg_count - 1;
......
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