summaryrefslogtreecommitdiff
path: root/sql/sql_select.cc
diff options
context:
space:
mode:
authorVarun Gupta <varun.gupta@mariadb.com>2020-12-14 14:34:14 +0530
committerSergei Petrunia <sergey@mariadb.com>2022-02-21 19:19:04 +0300
commit942a9791b2231273ba20649a658c856641268fae (patch)
treeb3adbc6aad7ace2385b76f91513d5c7a10d5c3ea /sql/sql_select.cc
parentd140d276244508d7f2e69a3c1a23e0b09201f71a (diff)
downloadmariadb-git-942a9791b2231273ba20649a658c856641268fae.tar.gz
MDEV-15208: server crashed, when using ORDER BY with window function and UNION
SELECTs inside a UNION can have window function but not the global ORDER BY clause of the UNION.
Diffstat (limited to 'sql/sql_select.cc')
-rw-r--r--sql/sql_select.cc4
1 files changed, 3 insertions, 1 deletions
diff --git a/sql/sql_select.cc b/sql/sql_select.cc
index db8a63eeb48..a3e8b453897 100644
--- a/sql/sql_select.cc
+++ b/sql/sql_select.cc
@@ -22796,7 +22796,9 @@ int setup_order(THD *thd, Ref_ptr_array ref_pointer_array, TABLE_LIST *tables,
an ORDER BY clause
*/
- if (for_union && (*order->item)->with_sum_func)
+ if (for_union &&
+ ((*order->item)->with_sum_func ||
+ (*order->item)->with_window_func))
{
my_error(ER_AGGREGATE_ORDER_FOR_UNION, MYF(0), number);
return 1;