diff options
author | unknown <gkodinov/kgeorge@magare.gmz> | 2007-03-29 19:20:33 +0300 |
---|---|---|
committer | unknown <gkodinov/kgeorge@magare.gmz> | 2007-03-29 19:20:33 +0300 |
commit | 4430048ee8084e0fcef144e64ab89b59f8e31a71 (patch) | |
tree | 2f2c49df3046e161d3bb656bcbed5926b5296947 /sql/item_sum.cc | |
parent | 456cc52e9c2d981cf7094a6864cd3bef43e8cf1a (diff) | |
parent | 08d9d182f235126c935ba27d4455eb77312521ff (diff) | |
download | mariadb-git-4430048ee8084e0fcef144e64ab89b59f8e31a71.tar.gz |
Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into magare.gmz:/home/kgeorge/mysql/autopush/B26815-5.0-opt
sql/item_sum.cc:
Auto merged
sql/sql_select.cc:
Auto merged
Diffstat (limited to 'sql/item_sum.cc')
-rw-r--r-- | sql/item_sum.cc | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/sql/item_sum.cc b/sql/item_sum.cc index 9d626cb7733..359b4516c3c 100644 --- a/sql/item_sum.cc +++ b/sql/item_sum.cc @@ -149,6 +149,8 @@ bool Item_sum::check_sum_func(THD *thd, Item **ref) if (register_sum_func(thd, ref)) return TRUE; invalid= aggr_level < 0 && !(allow_sum_func & (1 << nest_level)); + if (!invalid && thd->variables.sql_mode & MODE_ANSI) + invalid= aggr_level < 0 && max_arg_level < nest_level; } if (!invalid && aggr_level < 0) { @@ -164,8 +166,9 @@ bool Item_sum::check_sum_func(THD *thd, Item **ref) Additionally we have to check whether possible nested set functions are acceptable here: they are not, if the level of aggregation of some of them is less than aggr_level. - */ - invalid= aggr_level <= max_sum_func_level; + */ + if (!invalid) + invalid= aggr_level <= max_sum_func_level; if (invalid) { my_message(ER_INVALID_GROUP_FUNC_USE, ER(ER_INVALID_GROUP_FUNC_USE), |