diff options
Diffstat (limited to 'sql/item_windowfunc.h')
-rw-r--r-- | sql/item_windowfunc.h | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/sql/item_windowfunc.h b/sql/item_windowfunc.h index 5b3aa4f0e41..8b53b2012e7 100644 --- a/sql/item_windowfunc.h +++ b/sql/item_windowfunc.h @@ -118,6 +118,8 @@ public: Item_sum_row_number(THD *thd) : Item_sum_int(thd), count(0) {} + const Type_handler *type_handler() const { return &type_handler_slonglong; } + void clear() { count= 0; @@ -179,6 +181,8 @@ public: Item_sum_rank(THD *thd) : Item_sum_int(thd), peer_tracker(NULL) {} + const Type_handler *type_handler() const { return &type_handler_slonglong; } + void clear() { /* This is called on partition start */ @@ -266,6 +270,7 @@ class Item_sum_dense_rank: public Item_sum_int Item_sum_dense_rank(THD *thd) : Item_sum_int(thd), dense_rank(0), first_add(true), peer_tracker(NULL) {} + const Type_handler *type_handler() const { return &type_handler_slonglong; } enum Sumfunctype sum_func () const { return DENSE_RANK_FUNC; @@ -318,7 +323,7 @@ class Item_sum_hybrid_simple : public Item_sum_hybrid const Type_handler *type_handler() const { return Type_handler_hybrid_field_type::type_handler(); } void update_field(); - Field *create_tmp_field(bool group, TABLE *table); + Field *create_tmp_field(MEM_ROOT *root, bool group, TABLE *table); void clear() { value->clear(); @@ -690,7 +695,7 @@ class Item_sum_ntile : public Item_sum_window_with_row_count void update_field() {} - const Type_handler *type_handler() const { return &type_handler_longlong; } + const Type_handler *type_handler() const { return &type_handler_slonglong; } Item *get_copy(THD *thd) { return get_item_copy<Item_sum_ntile>(thd, this); } @@ -705,7 +710,7 @@ class Item_sum_percentile_disc : public Item_sum_cume_dist, { public: Item_sum_percentile_disc(THD *thd, Item* arg) : Item_sum_cume_dist(thd, arg), - Type_handler_hybrid_field_type(&type_handler_longlong), + Type_handler_hybrid_field_type(&type_handler_slonglong), value(NULL), val_calculated(FALSE), first_call(TRUE), prev_value(0), order_item(NULL){} |