summaryrefslogtreecommitdiff
path: root/sql/sql_select.h
diff options
context:
space:
mode:
authorAlexander Barkov <bar@mariadb.org>2017-02-27 10:07:59 +0400
committerAlexander Barkov <bar@mariadb.org>2017-02-27 10:07:59 +0400
commit47b7ffb396bd283bd4196194311ba39ed9692421 (patch)
treeee69ec3d890c77a123f66b5c27ac0697163491ad /sql/sql_select.h
parent3f83801d8266fa465d296dbe528a5ea132945a84 (diff)
parent78153cf641aea41166d3e79ae99b57b154f6a027 (diff)
downloadmariadb-git-47b7ffb396bd283bd4196194311ba39ed9692421.tar.gz
Merge remote-tracking branch 'origin/10.2' into bb-10.2-ext
Diffstat (limited to 'sql/sql_select.h')
-rw-r--r--sql/sql_select.h13
1 files changed, 9 insertions, 4 deletions
diff --git a/sql/sql_select.h b/sql/sql_select.h
index f3b59e5d20c..76cded43128 100644
--- a/sql/sql_select.h
+++ b/sql/sql_select.h
@@ -1149,6 +1149,10 @@ public:
(if sql_calc_found_rows is used, LIMIT is ignored)
*/
ha_rows select_limit;
+ /*
+ Number of duplicate rows found in UNION.
+ */
+ ha_rows duplicate_rows;
/**
Used to fetch no more than given amount of rows per one
fetch operation of server side cursor.
@@ -1420,7 +1424,7 @@ public:
sort_and_group= 0;
first_record= 0;
do_send_rows= 1;
- send_records= 0;
+ duplicate_rows= send_records= 0;
found_records= 0;
fetch_limit= HA_POS_ERROR;
thd= thd_arg;
@@ -1508,6 +1512,7 @@ public:
bool flatten_subqueries();
bool optimize_unflattened_subqueries();
bool optimize_constant_subqueries();
+ int init_join_caches();
bool make_sum_func_list(List<Item> &all_fields, List<Item> &send_fields,
bool before_group_by, bool recompute= FALSE);
@@ -1554,7 +1559,7 @@ public:
bool rollup_make_fields(List<Item> &all_fields, List<Item> &fields,
Item_sum ***func);
int rollup_send_data(uint idx);
- int rollup_write_data(uint idx, TABLE *table);
+ int rollup_write_data(uint idx, TMP_TABLE_PARAM *tmp_table_param, TABLE *table);
void join_free();
/** Cleanup this JOIN, possibly for reuse */
void cleanup(bool full);
@@ -1943,10 +1948,10 @@ int safe_index_read(JOIN_TAB *tab);
int get_quick_record(SQL_SELECT *select);
int setup_order(THD *thd, Ref_ptr_array ref_pointer_array, TABLE_LIST *tables,
List<Item> &fields, List <Item> &all_fields, ORDER *order,
- bool search_in_all_fields= true);
+ bool from_window_spec= false);
int setup_group(THD *thd, Ref_ptr_array ref_pointer_array, TABLE_LIST *tables,
List<Item> &fields, List<Item> &all_fields, ORDER *order,
- bool *hidden_group_fields, bool search_in_all_fields= true);
+ bool *hidden_group_fields, bool from_window_spec= false);
bool fix_inner_refs(THD *thd, List<Item> &all_fields, SELECT_LEX *select,
Ref_ptr_array ref_pointer_array);
int join_read_key2(THD *thd, struct st_join_table *tab, TABLE *table,