diff options
author | Varun Gupta <varunraiko1803@gmail.com> | 2017-06-22 21:43:45 +0530 |
---|---|---|
committer | Varun Gupta <varunraiko1803@gmail.com> | 2017-11-01 23:13:01 +0530 |
commit | 280945bf29095da1c8aacdcba37aecce605fc127 (patch) | |
tree | ee666aac083d2b402212cee2455c9056366ac924 /sql/sql_window.cc | |
parent | fadfe447e8d9b1244341bd5ed94bb7f8eb623f18 (diff) | |
download | mariadb-git-280945bf29095da1c8aacdcba37aecce605fc127.tar.gz |
MDEV-12985: support percentile and median window functions
Finalised the synatax and have started implementing the class for the PERCENTILE_DISC
Diffstat (limited to 'sql/sql_window.cc')
-rw-r--r-- | sql/sql_window.cc | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/sql/sql_window.cc b/sql/sql_window.cc index d22fff9d486..a4c558b52b6 100644 --- a/sql/sql_window.cc +++ b/sql/sql_window.cc @@ -2490,6 +2490,20 @@ void add_special_frame_cursors(THD *thd, Cursor_manager *cursor_manager, cursor_manager->add_cursor(fc); break; } + case Item_sum::PERCENTILE_DISC_FUNC: + { + fc= new Frame_unbounded_preceding(thd, + spec->partition_list, + spec->order_list); + fc->add_sum_func(item_sum); + cursor_manager->add_cursor(fc); + fc= new Frame_unbounded_following(thd, + spec->partition_list, + spec->order_list); + fc->add_sum_func(item_sum); + cursor_manager->add_cursor(fc); + break; + } default: fc= new Frame_unbounded_preceding( thd, spec->partition_list, spec->order_list); @@ -2514,6 +2528,8 @@ static bool is_computed_with_remove(Item_sum::Sumfunctype sum_func) case Item_sum::NTILE_FUNC: case Item_sum::FIRST_VALUE_FUNC: case Item_sum::LAST_VALUE_FUNC: + case Item_sum::PERCENTILE_CONT_FUNC: + case Item_sum::PERCENTILE_DISC_FUNC: return false; default: return true; |