mariadb/mysql-test/suite
Igor Babaev 2b1f0b8757 Back-ported the patch of the mysql-5.6 code line that
fixed several defects in the greedy optimization:

1) The greedy optimizer calculated the 'compare-cost' (CPU-cost)
   for iterating over the partial plan result at each level in
   the query plan as 'record_count / (double) TIME_FOR_COMPARE'

   This cost was only used locally for 'best' calculation at each
   level, and *not* accumulated into the total cost for the query plan.

   This fix added the 'CPU-cost' of processing 'current_record_count'
   records at each level to 'current_read_time' *before* it is used as
   'accumulated cost' argument to recursive 
   best_extension_by_limited_search() calls. This ensured that the
   cost of a huge join-fanout early in the QEP was correctly
   reflected in the cost of the final QEP.

   To get identical cost for a 'best' optimized query and a
   straight_join with the same join order, the same change was also
   applied to optimize_straight_join() and get_partial_join_cost()

2) Furthermore to get equal cost for 'best' optimized query and a
   straight_join the new code substrcated the same '0.001' in
   optimize_straight_join() as it had been already done in
   best_extension_by_limited_search()

3) When best_extension_by_limited_search() aggregated the 'best' plan a
   plan was 'best' by the check :

   'if ((search_depth == 1) || (current_read_time < join->best_read))'

   The term '(search_depth == 1' incorrectly caused a new best plan to be
   collected whenever the specified 'search_depth' was reached - even if
   this partial query plan was more expensive than what we had already
   found.
2011-12-24 08:55:10 -08:00
..
binlog Merge with 5.2. 2011-12-11 11:34:44 +02:00
engines bug#11766457 - adjusting/modifying the the tests as tests were failing if system time zone is set differently. 2011-10-12 10:10:52 +05:30
federated Merge with 5.1 2011-11-30 22:57:18 +02:00
funcs_1 Adjusted test cases of the suite funcs_1. 2011-12-16 08:05:14 -08:00
funcs_2 Changed to Oracle bug numbers 2011-05-24 12:08:13 +05:30
handler Fixed compiler warnings 2011-02-25 20:15:27 +02:00
ibmdb2i BUG#58079 - Remove the IBM DB2 storage engine 2010-11-11 13:03:17 +03:00
im Move instance manager tests to it's own suite 2007-08-29 19:02:33 +02:00
innodb Backport of WL#5953 from MySQL 5.6 2011-12-19 23:05:44 +02:00
innodb_plugin Backport of WL#5953 from MySQL 5.6 2011-12-19 23:05:44 +02:00
jp Bug #45159 : some tests in suite "jp" fail in embedded server (use LOAD DATA) 2009-09-11 15:52:08 +03:00
large_tests Bug#27029 alter table ... enable keys crashes mysqld on large table 2007-06-21 12:45:56 -04:00
manual BUG#49978: Replication tests don't clean up replication state at the end 2010-12-19 18:07:28 +01:00
maria Merge with 5.2 2011-12-14 20:36:51 +02:00
ndb Initail merge with MySQL 5.1 (XtraDB still needs to be merged) 2011-11-21 19:13:14 +02:00
ndb_team Initail merge with MySQL 5.1 (XtraDB still needs to be merged) 2011-11-21 19:13:14 +02:00
optimizer_unfixed_bugs merge with 5.1-micro 2011-06-07 18:13:02 +02:00
oqgraph oqgraph and sphinx on windows 2010-09-15 17:29:57 +02:00
parts Merge with 5.2. 2011-12-11 11:34:44 +02:00
pbxt Back-ported the patch of the mysql-5.6 code line that 2011-12-24 08:55:10 -08:00
percona Added test case forlp:875797 Using 'innodb_sys_indexes' causes core dump 2011-11-24 19:07:36 +02:00
plugins PAM plugin with test 2011-12-02 16:27:13 +01:00
rpl Merge with 5.2. 2011-12-11 11:34:44 +02:00
rpl_ndb Merge with 5.2. 2011-12-11 11:34:44 +02:00
sphinx use mtr_verbose() for debug output in suite.pm files 2011-03-01 18:31:33 +01:00
stress Merge trift2.:/MySQL/M51/mysql-5.1 2008-02-22 16:14:27 +01:00
sys_vars Merge with 5.2. 2011-12-11 11:34:44 +02:00
vcol Made the optimizer switch flags 'outer_join_with_cache', 'semijoin_with_cache' 2011-12-15 00:21:15 -08:00