summaryrefslogtreecommitdiff
path: root/sql/item_sum.cc
diff options
context:
space:
mode:
authorIgor Babaev <igor@askmonty.org>2011-12-28 18:47:01 -0800
committerIgor Babaev <igor@askmonty.org>2011-12-28 18:47:01 -0800
commit5ab628e0240ae280c0b5b03e1d64b2242cd7265e (patch)
treee2cc64323021a593c59f0f54978b006fc51b8686 /sql/item_sum.cc
parent31805e621495e33d4dcf4e4b2180d42367f90894 (diff)
downloadmariadb-git-5ab628e0240ae280c0b5b03e1d64b2242cd7265e.tar.gz
Fixed LP bug #777654.
The method Item_sum_num::fix_fields() calculated the value of the flag Item_sum_num::maybe_null in some cases incorrectly.
Diffstat (limited to 'sql/item_sum.cc')
-rw-r--r--sql/item_sum.cc3
1 files changed, 1 insertions, 2 deletions
diff --git a/sql/item_sum.cc b/sql/item_sum.cc
index ce7602b7f03..ac6ddc0fd54 100644
--- a/sql/item_sum.cc
+++ b/sql/item_sum.cc
@@ -568,13 +568,12 @@ Item_sum_num::fix_fields(THD *thd, Item **ref)
return TRUE;
decimals=0;
- maybe_null=0;
+ maybe_null= sum_func() != COUNT_FUNC;
for (uint i=0 ; i < arg_count ; i++)
{
if (args[i]->fix_fields(thd, args + i) || args[i]->check_cols(1))
return TRUE;
set_if_bigger(decimals, args[i]->decimals);
- maybe_null |= args[i]->maybe_null;
}
result_field=0;
max_length=float_length(decimals);