summaryrefslogtreecommitdiff
path: root/sql/item_windowfunc.cc
diff options
context:
space:
mode:
authorVicențiu Ciorbaru <vicentiu@mariadb.org>2017-02-07 16:49:41 +0200
committerVicențiu Ciorbaru <vicentiu@mariadb.org>2017-02-14 07:46:58 +0200
commit57341852b5b1e40b1f92e248d84f95de988022c0 (patch)
tree448800453edaae7503b31f91217089aa7c5be9af /sql/item_windowfunc.cc
parentf675eab7dc7f1eb4f4b61bfdd548d9e8052678a4 (diff)
downloadmariadb-git-57341852b5b1e40b1f92e248d84f95de988022c0.tar.gz
MDEV-11746: Wrong result upon using FIRST_VALUE with a window frame
Reimplement FIRST_VALUE to act as NTH_VALUE with 0 offset. The previous implementation was flawed when the window frame would remove values.
Diffstat (limited to 'sql/item_windowfunc.cc')
-rw-r--r--sql/item_windowfunc.cc12
1 files changed, 0 insertions, 12 deletions
diff --git a/sql/item_windowfunc.cc b/sql/item_windowfunc.cc
index fb2ad666018..59a22c63ed5 100644
--- a/sql/item_windowfunc.cc
+++ b/sql/item_windowfunc.cc
@@ -221,18 +221,6 @@ void Item_sum_percent_rank::setup_window_func(THD *thd, Window_spec *window_spec
clear();
}
-bool Item_sum_first_value::add()
-{
- if (value_added)
- return false;
-
- /* TODO(cvicentiu) This is done like this due to how Item_sum_hybrid works.
- For this usecase we can actually get rid of arg_cache. arg_cache is just
- for running a comparison function. */
- value_added= true;
- Item_sum_hybrid_simple::add();
- return false;
-}
bool Item_sum_hybrid_simple::fix_fields(THD *thd, Item **ref)
{