~drizzle-trunk/drizzle/development

  • Committer: Prafulla Tekawade
  • Date: 2010-07-18 03:36:32 UTC
  • mto: (1662.1.4 rollup)
  • Revision ID: prafulla_t@users.sourceforge.net-20100718033632-p7q6qtgliqbhe38p
Fix for Bug 592444

There were two problems:
o. In greedy_search optimizer method, best_extension_by_limited search
   maintains join embedding(nestedness) of tables added so far, so that 
   correct(valid)  join order is selected
   These are requirements from nested outer join executioner.
   The problem was, embedding_map was not correctly updated when a table 
   is added to optimal plan outside best_extension_by_limited search, 
   by greedy_search method. We need to update join->cur_embedding_map
   correctly here so that execution plan for other tables get
   generated.
   Invoked checked_interleaving_with_nj from greedy_search on the
   best_table selected. Fixed its prototype to take only one JoinTab
   This is same as mysql 5.1 source tree.
o. The other problem was, join->cur_embedding_map was not restored correctly
   when a table is added to the optimal plan to reflect the current embedding 
   map. 
   Taken good documented method restore_prev_nj_state which restores 
   cur_embedding_map from mysql 5.1 source tree and modified it for drizzled 
   code.
Filename Latest Rev Last Changed Committer Comment Size
..
tests 1237.10.5 15 years ago Monty Taylor Plugin tests in plugin dirs. Diff
md5.cc 1530.2.6 15 years ago Monty Taylor Moved plugin::Context to module::Context. Fixed va 3 KB Diff Download File
plugin.ac 1377.3.16 15 years ago Monty Taylor Fixed warning message. 349 bytes Diff Download File
plugin.ini 1377.3.15 15 years ago Monty Taylor Took the last suggestion from Diego and used a lib 155 bytes Diff Download File