Re: [Maria-developers] MWL83: review

2013-10-31 Thread Sergei Petrunia
Hi Timour, Found another possible issue: The code in best_extension_by_limited_search() calls join->static_pushdown_cost(). static_pushdown_cost() may modify join->position[$I].read_time for any $I. Now, consider an example: SELECT * FROM t1,t2,t3 WHERE subquery_conditions The join optimizer

Re: [Maria-developers] MWL83: review

2013-10-29 Thread Sergei Petrunia
> +double JOIN::static_pushdown_cost(Item *pushed_cond, uint idx) > +{ > + table_map cond_tables= pushed_cond->used_tables(); > + POSITION *last_pos= NULL; > + POSITION *opt_pos; > + double pushed_cond_cost; Take the first example from condition_pushdown.inc: explain extended SELECT count(*) f