diff options
Diffstat (limited to 'sql/sql_window.cc')
-rw-r--r-- | sql/sql_window.cc | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/sql/sql_window.cc b/sql/sql_window.cc new file mode 100644 index 00000000000..46d69d3158a --- /dev/null +++ b/sql/sql_window.cc @@ -0,0 +1,22 @@ +#include "sql_select.h" +#include "sql_window.h" + +int +setup_windows(THD *thd, Item **ref_pointer_array, TABLE_LIST *tables, + List<Item> &fields, List<Item> &all_fields, + List<Window_spec> win_specs) +{ + int res= 0; + Window_spec *win_spec; + DBUG_ENTER("setup_windows"); + List_iterator<Window_spec> it(win_specs); + while ((win_spec= it++)) + { + bool hidden_group_fields; + res= setup_group(thd, ref_pointer_array, tables, fields, all_fields, + win_spec->partition_list.first, &hidden_group_fields); + res= res || setup_order(thd, ref_pointer_array, tables, fields, all_fields, + win_spec->order_list.first); + } + DBUG_RETURN(res); +} |