diff options
author | Marko Mäkelä <marko.makela@mariadb.com> | 2018-10-17 19:11:42 +0300 |
---|---|---|
committer | Marko Mäkelä <marko.makela@mariadb.com> | 2018-10-17 19:11:42 +0300 |
commit | d88c136b9fb409cbf6421635a6175329e7182cd7 (patch) | |
tree | 7f713ddfece5aeefd47025e1beca2fc0a541248b /sql/item_windowfunc.cc | |
parent | 13e217b8c1da39b1246fe82203a4c8897d4c9e8d (diff) | |
parent | 2fa4ed031ce6cc6370671058ccc3d119b8cb3d91 (diff) | |
download | mariadb-git-d88c136b9fb409cbf6421635a6175329e7182cd7.tar.gz |
Merge 10.3 into 10.4
Diffstat (limited to 'sql/item_windowfunc.cc')
-rw-r--r-- | sql/item_windowfunc.cc | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/sql/item_windowfunc.cc b/sql/item_windowfunc.cc index 764a8b26c3e..aa2c7756ab7 100644 --- a/sql/item_windowfunc.cc +++ b/sql/item_windowfunc.cc @@ -542,6 +542,11 @@ void Item_sum_hybrid_simple::update_field() void Item_window_func::print(String *str, enum_query_type query_type) { + if (only_single_element_order_list()) + { + print_for_percentile_functions(str, query_type); + return; + } window_func()->print(str, query_type); str->append(" over "); #ifndef DBUG_OFF @@ -551,3 +556,15 @@ void Item_window_func::print(String *str, enum_query_type query_type) #endif window_spec->print(str, query_type); } +void Item_window_func::print_for_percentile_functions(String *str, enum_query_type query_type) +{ + window_func()->print(str, query_type); + str->append(" within group "); + str->append('('); + window_spec->print_order(str,query_type); + str->append(')'); + str->append(" over "); + str->append('('); + window_spec->print_partition(str,query_type); + str->append(')'); +} |