diff options
Diffstat (limited to 'sql/sql_select.h')
-rw-r--r-- | sql/sql_select.h | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/sql/sql_select.h b/sql/sql_select.h index 8420a223fb6..54aca3c4829 100644 --- a/sql/sql_select.h +++ b/sql/sql_select.h @@ -896,6 +896,14 @@ protected: public: JOIN_TAB *join_tab, **best_ref; + /* + Saved join_tab for pre_sorting. create_sort_index() will save here.. + */ + JOIN_TAB *pre_sort_join_tab; + uint pre_sort_index; + Item *pre_sort_idx_pushed_cond; + void clean_pre_sort_join_tab(); + /* For "Using temporary+Using filesort" queries, JOIN::join_tab can point to either: @@ -908,15 +916,6 @@ public: JOIN_TAB *table_access_tabs; uint top_table_access_tabs_count; - /* - Saved join_tab for pre_sorting. create_sort_index() will save here.. - */ - JOIN_TAB *pre_sort_join_tab; - uint pre_sort_index; - Item *pre_sort_idx_pushed_cond; - void clean_pre_sort_join_tab(); - - JOIN_TAB **map2table; ///< mapping between table indexes and JOIN_TABs JOIN_TAB *join_tab_save; ///< saved join_tab for subquery reexecution @@ -1140,6 +1139,8 @@ public: bool skip_sort_order; bool need_tmp, hidden_group_fields; + /* TRUE if there was full cleunap of the JOIN */ + bool cleaned; DYNAMIC_ARRAY keyuse; Item::cond_result cond_value, having_value; List<Item> all_fields; ///< to store all fields that used in query @@ -1274,6 +1275,7 @@ public: optimized= 0; have_query_plan= QEP_NOT_PRESENT_YET; initialized= 0; + cleaned= 0; cond_equal= 0; having_equal= 0; exec_const_cond= 0; |