summaryrefslogtreecommitdiff
path: root/sql/item_sum.h
diff options
context:
space:
mode:
authorunknown <bell@sanja.is.com.ua>2002-10-31 02:11:59 +0200
committerunknown <bell@sanja.is.com.ua>2002-10-31 02:11:59 +0200
commitceb73645c19128cfef13d517f003a9ba2f4028c2 (patch)
tree1d920e5da9859547c537530ee24715ef9cd2dc43 /sql/item_sum.h
parent5bb0ca0a1fefcd1e22491500c1b57704739fdfea (diff)
downloadmariadb-git-ceb73645c19128cfef13d517f003a9ba2f4028c2.tar.gz
IN subselect with ORDER BY, HAVING & sum functions
mysql-test/r/subselect.result: IN subselect with ORDER BY, HAVING & sum functions test mysql-test/t/subselect.test: IN subselect with ORDER BY, HAVING & sum functions test sql/item.h: removed field, because parent class has same field
Diffstat (limited to 'sql/item_sum.h')
-rw-r--r--sql/item_sum.h11
1 files changed, 8 insertions, 3 deletions
diff --git a/sql/item_sum.h b/sql/item_sum.h
index 3e67f1e3624..a169a0ee562 100644
--- a/sql/item_sum.h
+++ b/sql/item_sum.h
@@ -34,23 +34,28 @@ public:
uint arg_count;
bool quick_group; /* If incremental update of fields */
- Item_sum() : arg_count(0),quick_group(1) { with_sum_func=1; }
+ Item_sum() : arg_count(0),quick_group(1)
+ {
+ mark_as_sum_func();
+ }
Item_sum(Item *a) :quick_group(1)
{
arg_count=1;
args=tmp_args;
args[0]=a;
- with_sum_func = 1;
+ mark_as_sum_func();
}
Item_sum( Item *a, Item *b ) :quick_group(1)
{
arg_count=2;
args=tmp_args;
args[0]=a; args[1]=b;
- with_sum_func=1;
+ mark_as_sum_func();
}
Item_sum(List<Item> &list);
~Item_sum() { result_field=0; }
+ inline void mark_as_sum_func();
+
enum Type type() const { return SUM_FUNC_ITEM; }
virtual enum Sumfunctype sum_func () const=0;
virtual void reset()=0;