summaryrefslogtreecommitdiff
path: root/sql/sql_window.cc
blob: 46d69d3158ad8e5f71b48ba5dfb0944a4cb2f62d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
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);
}