diff options
author | unknown <Sinisa@sinisa.nasamreza.org> | 2002-07-20 14:51:52 +0300 |
---|---|---|
committer | unknown <Sinisa@sinisa.nasamreza.org> | 2002-07-20 14:51:52 +0300 |
commit | 907c668729b279c480f028d795b55b761b3aff33 (patch) | |
tree | 59a3e303f4dceb2b56763aee0bf50408cb5c153e /sql/item_sum.h | |
parent | 4ce602e619d92c697e4a43f38f582c7fe1a9ad2f (diff) | |
download | mariadb-git-907c668729b279c480f028d795b55b761b3aff33.tar.gz |
OLAP functionality plus some small bug fixes
Diffstat (limited to 'sql/item_sum.h')
-rw-r--r-- | sql/item_sum.h | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/sql/item_sum.h b/sql/item_sum.h index a963799b6a7..8326114629b 100644 --- a/sql/item_sum.h +++ b/sql/item_sum.h @@ -70,6 +70,7 @@ public: void print(String *str); void fix_num_length_and_dec(); virtual bool setup(THD *thd) {return 0;} + virtual unsigned int size_of () { return sizeof(*this);} }; @@ -84,6 +85,7 @@ public: longlong val_int() { return (longlong) val(); } /* Real as default */ String *val_str(String*str); void reset_field(); + virtual unsigned int size_of () { return sizeof(*this);} }; @@ -98,6 +100,7 @@ public: double val() { return (double) val_int(); } String *val_str(String*str); enum Item_result result_type () const { return INT_RESULT; } + virtual unsigned int size_of () { return sizeof(*this);} }; @@ -115,6 +118,7 @@ class Item_sum_sum :public Item_sum_num void reset_field(); void update_field(int offset); const char *func_name() const { return "sum"; } + virtual unsigned int size_of () { return sizeof(*this);} }; @@ -137,6 +141,7 @@ class Item_sum_count :public Item_sum_int void reset_field(); void update_field(int offset); const char *func_name() const { return "count"; } + virtual unsigned int size_of () { return sizeof(*this);} }; @@ -188,6 +193,7 @@ class Item_sum_count_distinct :public Item_sum_int void update_field(int offset) { return ; } // Never called const char *func_name() const { return "count_distinct"; } bool setup(THD *thd); + virtual unsigned int size_of () { return sizeof(*this);} }; @@ -207,6 +213,7 @@ public: String *val_str(String*); void make_field(Send_field *field); void fix_length_and_dec() {} + virtual unsigned int size_of () { return sizeof(*this);} }; @@ -228,6 +235,7 @@ class Item_sum_avg :public Item_sum_num Item *result_item(Field *field) { return new Item_avg_field(this); } const char *func_name() const { return "avg"; } + virtual unsigned int size_of () { return sizeof(*this);} }; class Item_sum_std; @@ -244,6 +252,7 @@ public: bool is_null() { (void) val_int(); return null_value; } void make_field(Send_field *field); void fix_length_and_dec() {} + virtual unsigned int size_of () { return sizeof(*this);} }; class Item_sum_std :public Item_sum_num @@ -264,6 +273,7 @@ class Item_sum_std :public Item_sum_num Item *result_item(Field *field) { return new Item_std_field(this); } const char *func_name() const { return "std"; } + virtual unsigned int size_of () { return sizeof(*this);} }; @@ -306,6 +316,7 @@ class Item_sum_hybrid :public Item_sum void min_max_update_str_field(int offset); void min_max_update_real_field(int offset); void min_max_update_int_field(int offset); + virtual unsigned int size_of () { return sizeof(*this);} }; @@ -317,6 +328,7 @@ public: bool add(); const char *func_name() const { return "min"; } + virtual unsigned int size_of () { return sizeof(*this);} }; @@ -328,6 +340,7 @@ public: bool add(); const char *func_name() const { return "max"; } + virtual unsigned int size_of () { return sizeof(*this);} }; @@ -343,6 +356,7 @@ class Item_sum_bit :public Item_sum_int void reset(); longlong val_int(); void reset_field(); + virtual unsigned int size_of () { return sizeof(*this);} }; @@ -353,6 +367,7 @@ class Item_sum_or :public Item_sum_bit bool add(); void update_field(int offset); const char *func_name() const { return "bit_or"; } + virtual unsigned int size_of () { return sizeof(*this);} }; @@ -363,6 +378,7 @@ class Item_sum_and :public Item_sum_bit bool add(); void update_field(int offset); const char *func_name() const { return "bit_and"; } + virtual unsigned int size_of () { return sizeof(*this);} }; /* @@ -393,6 +409,7 @@ public: bool add(); void reset_field() {}; void update_field(int offset_arg) {}; + virtual unsigned int size_of () { return sizeof(*this);} }; |