-
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