Commit 4de75afb authored by Igor Babaev's avatar Igor Babaev

Fixed the previous merge to be able to build mysqld.

Adjusted one result file.
parent 17622bc0
......@@ -580,7 +580,8 @@ The following options may be given as the first argument:
semijoin_with_cache, join_cache_incremental,
join_cache_hashed, join_cache_bka,
optimize_join_buffer_size, table_elimination,
extended_keys, exists_to_in, orderby_uses_equalities
extended_keys, exists_to_in, orderby_uses_equalities,
condition_pushdown_for_derived
--optimizer-use-condition-selectivity=#
Controls selectivity of which conditions the optimizer
takes into account to calculate cardinality of a partial
......@@ -1328,7 +1329,7 @@ old-style-user-limits FALSE
optimizer-prune-level 1
optimizer-search-depth 62
optimizer-selectivity-sampling-limit 100
optimizer-switch index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,index_merge_sort_intersection=off,engine_condition_pushdown=off,index_condition_pushdown=on,derived_merge=on,derived_with_keys=on,firstmatch=on,loosescan=on,materialization=on,in_to_exists=on,semijoin=on,partial_match_rowid_merge=on,partial_match_table_scan=on,subquery_cache=on,mrr=off,mrr_cost_based=off,mrr_sort_keys=off,outer_join_with_cache=on,semijoin_with_cache=on,join_cache_incremental=on,join_cache_hashed=on,join_cache_bka=on,optimize_join_buffer_size=off,table_elimination=on,extended_keys=on,exists_to_in=on
optimizer-switch index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,index_merge_sort_intersection=off,engine_condition_pushdown=off,index_condition_pushdown=on,derived_merge=on,derived_with_keys=on,firstmatch=on,loosescan=on,materialization=on,in_to_exists=on,semijoin=on,partial_match_rowid_merge=on,partial_match_table_scan=on,subquery_cache=on,mrr=off,mrr_cost_based=off,mrr_sort_keys=off,outer_join_with_cache=on,semijoin_with_cache=on,join_cache_incremental=on,join_cache_hashed=on,join_cache_bka=on,optimize_join_buffer_size=off,table_elimination=on,extended_keys=on,exists_to_in=on,orderby_uses_equalities=off,condition_pushdown_for_derived=on
optimizer-use-condition-selectivity 1
performance-schema FALSE
performance-schema-accounts-size -1
......
......@@ -10083,14 +10083,14 @@ const char *dbug_print_item(Item *item)
#endif /*DBUG_OFF*/
bool Item_field::exclusive_dependence_on_table_processor(uchar *map)
bool Item_field::exclusive_dependence_on_table_processor(void *map)
{
table_map tab_map= *((table_map *) map);
return !((used_tables() == tab_map ||
(item_equal && item_equal->used_tables() & tab_map)));
}
bool Item_field::exclusive_dependence_on_grouping_fields_processor(uchar *arg)
bool Item_field::exclusive_dependence_on_grouping_fields_processor(void *arg)
{
st_select_lex *sl= (st_select_lex *)arg;
List_iterator<Grouping_tmp_field> li(sl->grouping_tmp_fields);
......
......@@ -1481,12 +1481,10 @@ class Item: public Value_source,
virtual bool exists2in_processor(void *opt_arg) { return 0; }
virtual bool find_selective_predicates_list_processor(void *opt_arg)
{ return 0; }
virtual bool exclusive_dependence_on_table_processor(uchar *map)
virtual bool exclusive_dependence_on_table_processor(void *map)
{ return 0; }
virtual bool exclusive_dependence_on_grouping_fields_processor(uchar *arg)
virtual bool exclusive_dependence_on_grouping_fields_processor(void *arg)
{ return 0; }
//virtual Item *get_copy(THD *thd, MEM_ROOT *mem_root);
virtual Item *get_copy(THD *thd, MEM_ROOT *mem_root)=0;
......@@ -2583,8 +2581,8 @@ class Item_field :public Item_ident
virtual Item *derived_field_transformer_for_having(THD *thd, uchar *arg);
virtual Item *derived_field_transformer_for_where(THD *thd, uchar *arg);
virtual void print(String *str, enum_query_type query_type);
bool exclusive_dependence_on_table_processor(uchar *map);
bool exclusive_dependence_on_grouping_fields_processor(uchar *arg);
bool exclusive_dependence_on_table_processor(void *map);
bool exclusive_dependence_on_grouping_fields_processor(void *arg);
Item *get_copy(THD *thd, MEM_ROOT *mem_root)
{ return get_item_copy<Item_field>(thd, mem_root, this); }
bool is_outer_field() const
......
......@@ -7950,7 +7950,7 @@ void TABLE_LIST::check_pushable_cond_for_table(Item *cond)
}
}
else if (cond->walk(&Item::exclusive_dependence_on_table_processor,
0, (uchar *) &tab_map))
0, (void *) &tab_map))
cond->set_extraction_flag(NO_EXTRACTION_FL);
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment