• Sergey Petrunya's avatar
    Alternate version of MySQL's fix for BUG#49453. · 62cc4df4
    Sergey Petrunya authored
    The cause of the crash is sj_nest->sj_subq_pred->unit->first_select()->item_list
    contains "stale" items for the second execution. By "stale" I mean that they have
    item->fixed==FALSE, and they are Item_field object instead of Item_direct_view_ref.
    
    The solution is to use sj_nest->sj_subq_pred->unit->first_select()->ref_pointer_array.
    Surprisingly, that array contains items that are ok.
    
    Oracle team has introduced and is using NESTED_JOIN::sj_inner_exprs, but we go without that
    and always copy the ref_pointer_array.
    
    62cc4df4
opt_subselect.cc 160 KB