From de2175e96aa71eee1c5598d5e345b6e52c1a3a1d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vicen=C8=9Biu=20Ciorbaru?= Date: Sat, 24 Sep 2016 15:25:00 +0200 Subject: [PATCH] Window functions can have an empty over clause Make sure we select one window function if we have an empty over clause. --- sql/sql_window.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sql/sql_window.cc b/sql/sql_window.cc index f66b390b318..8fed2418b82 100644 --- a/sql/sql_window.cc +++ b/sql/sql_window.cc @@ -2663,14 +2663,14 @@ bool Window_funcs_sort::setup(THD *thd, SQL_SELECT *sel, Window_spec *spec; Item_window_func *win_func= it.peek(); Item_window_func *win_func_with_longest_order= NULL; - uint longest_order_elements= 0; + int longest_order_elements= -1; /* The iterator should point to a valid function at the start of execution. */ DBUG_ASSERT(win_func); do { spec= win_func->window_spec; - uint win_func_order_elements= spec->partition_list->elements + + int win_func_order_elements= spec->partition_list->elements + spec->order_list->elements; if (win_func_order_elements > longest_order_elements) {