~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 1271.1.4 15 years ago Monty Taylor Added tests for errmsg plugins. Diff
errmsg_notify.cc 1633.6.2 14 years ago Vijay Samuel Reverted changes. 2.6 KB Diff Download File
plugin.ac 1271.1.1 15 years ago Monty Taylor Added libnotify plugin. 213 bytes Diff Download File
plugin.ini 1271.1.5 15 years ago Monty Taylor Removed extra title field. 379 bytes Diff Download File