• timour@mysql.com's avatar
    Fix for Bug#3759 · 4d070fd9
    timour@mysql.com authored
    The cause of the bug is that Item_func_in::fix_fields did not fully update its
    used_table_cache. This was the cause for not_null_tables in setup_conds() to be
    still 0 after the call
      not_null_tables= (*conds)->not_null_tables();
    As a result the condition in setup_conds()
      if ( ... (table->table->map & not_null_tables) ...)
    failed, which was the cause for the ON expression not to be added to conds, and later
    the optimizer couldn't detect that it could apply the OUTER JOIN ==> JOIN optimization.
    4d070fd9
logging_ok 3.27 KB