diff options
author | Alfranio Correia <alfranio.correia@sun.com> | 2010-01-13 12:22:34 +0000 |
---|---|---|
committer | Alfranio Correia <alfranio.correia@sun.com> | 2010-01-13 12:22:34 +0000 |
commit | 40949a3110a97e41d48c24e51004851521dd807b (patch) | |
tree | dddf2d3ec6941e3f9c47deefb52bcfa19ef6a23e /sql/item_sum.cc | |
parent | 26b12adb5d19fea7308edd0c2b49e1c972ea79c3 (diff) | |
parent | 51caeae915d3a5add57a785e69b7ce52cac084ad (diff) | |
download | mariadb-git-40949a3110a97e41d48c24e51004851521dd807b.tar.gz |
merge mysql-next-mr --> mysql-5.1-rpl-merge
Conflicts:
Text conflict in sql/log.cc
Text conflict in sql/slave.cc
Text conflict in sql/sql_base.cc
Diffstat (limited to 'sql/item_sum.cc')
-rw-r--r-- | sql/item_sum.cc | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/sql/item_sum.cc b/sql/item_sum.cc index c33088e0276..a61c5d59d67 100644 --- a/sql/item_sum.cc +++ b/sql/item_sum.cc @@ -578,7 +578,14 @@ int Item_sum::set_aggregator(Aggregator::Aggregator_type aggregator) { if (aggr) { + /* + Dependent subselects may be executed multiple times, making + set_aggregator to be called multiple times. The aggregator type + will be the same, but it needs to be reset so that it is + reevaluated with the new dependent data. + */ DBUG_ASSERT(aggregator == aggr->Aggrtype()); + aggr->clear(); return FALSE; } switch (aggregator) |