• unknown's avatar
    Fixed LP BUG#652727 and LP BUG#643424. · 9f2bddbd
    unknown authored
    The fixes for #643424 was part of the fix for #652727, that's why both
    fixes are pushed together.
    
    - The cause for #643424 was the improper use of get_partial_join_cost(),
      which assumed that the 'n_tables' parameter was the upper bound for
      query plan node indexes.
      Fixed by generalizing get_partial_join_cost() as a method that computes
      the cost of any partial join.
    
    - The cause of #652727 was that JOIN::choose_subquery_plan() incorrectly
      deleted the contents of the old keyuse array in the cases when an injected
      plan would not provide more key accesses, and reoptimization was not actually
      performed.
    9f2bddbd
sql_select.cc 625 KB