Skip to content
  • Roy Lyseng's avatar
    3979bd91
    Bug#21547779 Assertion failed: select_lex->leaf_table_count == 0 · 3979bd91
    Roy Lyseng authored
    The problem here is that we try to evaluate a subquery from the
    resolver. Item_is_not_null_test::update_used_tables() attempts
    to call is_null() on its argument because with_subselect is
    erroneously false. This field is wrongly updated because
    Item_func_make_set::update_used_tables() has a bad propagation of
    with_subselect: It first calls Item_func::update_used_tables() to update
    data for each arguments, then it calls item->update_used_tables().
    But instead of accumulating data for with_subselect and
    with_stored_program, it assigns directly to those fields.
    
    The fix is to convert the assignments into OR assignments.
    3979bd91
    Bug#21547779 Assertion failed: select_lex->leaf_table_count == 0
    Roy Lyseng authored
    The problem here is that we try to evaluate a subquery from the
    resolver. Item_is_not_null_test::update_used_tables() attempts
    to call is_null() on its argument because with_subselect is
    erroneously false. This field is wrongly updated because
    Item_func_make_set::update_used_tables() has a bad propagation of
    with_subselect: It first calls Item_func::update_used_tables() to update
    data for each arguments, then it calls item->update_used_tables().
    But instead of accumulating data for with_subselect and
    with_stored_program, it assigns directly to those fields.
    
    The fix is to convert the assignments into OR assignments.
Loading