> +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(*) from t2 where b2 < '6' and b3 < '4' and b4 < '2';

Put a break point in this function. When it is hit:

(gdb) fini
  Run till exit from #0  JOIN::static_pushdown_cost...
  0x00000000006648f3 in best_extension_by_limited_search ...
  Value returned is $9 = 8.9089074181826877

Run the query again:

Breakpoint 2, JOIN::static_pushdown_cost....
(gdb) set pushed_cond_cost=10000*10000*1000.
(gdb) fini
  Run till exit from #0  JOIN::static_pushdown_cost...
  0x00000000006648f3 in best_extension_by_limited_search ...
  Value returned is $11 = 262103778125.49277

Apparently, the value is not initialized.

BR
 Sergei
--

Sergei Petrunia, Software Developer
MariaDB | Skype: sergefp | Blog: http://s.petrunia.net/blog



_______________________________________________
Mailing list: https://launchpad.net/~maria-developers
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp

Reply via email to