diff options
author | Igor Babaev <igor@askmonty.org> | 2011-12-28 18:47:01 -0800 |
---|---|---|
committer | Igor Babaev <igor@askmonty.org> | 2011-12-28 18:47:01 -0800 |
commit | 5ab628e0240ae280c0b5b03e1d64b2242cd7265e (patch) | |
tree | e2cc64323021a593c59f0f54978b006fc51b8686 /sql/item_sum.cc | |
parent | 31805e621495e33d4dcf4e4b2180d42367f90894 (diff) | |
download | mariadb-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.cc | 3 |
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); |