summaryrefslogtreecommitdiff
path: root/sql/sql_window.cc
diff options
context:
space:
mode:
Diffstat (limited to 'sql/sql_window.cc')
-rw-r--r--sql/sql_window.cc22
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);
+}