summaryrefslogtreecommitdiff
path: root/sql/item_windowfunc.h
diff options
context:
space:
mode:
authorIgor Babaev <igor@askmonty.org>2016-08-31 16:16:54 -0700
committerIgor Babaev <igor@askmonty.org>2016-08-31 16:16:54 -0700
commit3fb4f9bb93868ce5c7e385d0545c00755d8e23bd (patch)
tree8ea1c005920b2ef9d7c7f1114c5433c728751b72 /sql/item_windowfunc.h
parent670760d504bebdf542df890f4d40f4cd3ff7a2c8 (diff)
parenteb2c1474752a5f743db638d5b06612c9e3f07f74 (diff)
downloadmariadb-git-3fb4f9bb93868ce5c7e385d0545c00755d8e23bd.tar.gz
Merge branch '10.2-mdev9197-cons' of github.com:shagalla/server
into branch 10.2-mdev9197.
Diffstat (limited to 'sql/item_windowfunc.h')
-rw-r--r--sql/item_windowfunc.h17
1 files changed, 16 insertions, 1 deletions
diff --git a/sql/item_windowfunc.h b/sql/item_windowfunc.h
index 9d2fa135e29..163cc855fe2 100644
--- a/sql/item_windowfunc.h
+++ b/sql/item_windowfunc.h
@@ -119,7 +119,8 @@ public:
{
return "row_number(";
}
-
+ Item *get_copy(THD *thd, MEM_ROOT *mem_root)
+ { return get_item_copy<Item_sum_row_number>(thd, mem_root, this); }
};
@@ -188,6 +189,8 @@ public:
peer_tracker.cleanup();
Item_sum_int::cleanup();
}
+ Item *get_copy(THD *thd, MEM_ROOT *mem_root)
+ { return get_item_copy<Item_sum_rank>(thd, mem_root, this); }
};
@@ -251,6 +254,8 @@ class Item_sum_dense_rank: public Item_sum_int
peer_tracker.cleanup();
Item_sum_int::cleanup();
}
+ Item *get_copy(THD *thd, MEM_ROOT *mem_root)
+ { return get_item_copy<Item_sum_dense_rank>(thd, mem_root, this); }
};
/*
@@ -342,6 +347,8 @@ class Item_sum_percent_rank: public Item_sum_window_with_row_count
}
void setup_window_func(THD *thd, Window_spec *window_spec);
+ Item *get_copy(THD *thd, MEM_ROOT *mem_root)
+ { return get_item_copy<Item_sum_percent_rank>(thd, mem_root, this); }
private:
longlong cur_rank; // Current rank of the current row.
@@ -419,6 +426,9 @@ class Item_sum_cume_dist: public Item_sum_window_with_row_count
decimals = 10; // TODO-cvicentiu find out how many decimals the standard
// requires.
}
+
+ Item *get_copy(THD *thd, MEM_ROOT *mem_root)
+ { return get_item_copy<Item_sum_cume_dist>(thd, mem_root, this); }
private:
ulonglong current_row_count_;
@@ -487,6 +497,9 @@ class Item_sum_ntile : public Item_sum_window_with_row_count
enum Item_result result_type () const { return INT_RESULT; }
enum_field_types field_type() const { return MYSQL_TYPE_LONGLONG; }
+
+ Item *get_copy(THD *thd, MEM_ROOT *mem_root)
+ { return get_item_copy<Item_sum_ntile>(thd, mem_root, this); }
private:
longlong get_num_quantiles() { return args[0]->val_int(); }
@@ -751,6 +764,8 @@ public:
bool fix_fields(THD *thd, Item **ref);
bool resolve_window_name(THD *thd);
+
+ Item *get_copy(THD *thd, MEM_ROOT *mem_root) { return 0; }
};