• Igor Babaev's avatar
    Fixed LP bug #702403 that caused a crash on the tree for mwl#128 · 847114a2
    Igor Babaev authored
    with the test case added by this patch.
    The bug cannot be reproduced with the same test case for the main
    5.3 tree because the backported fix for bug 59696 masks the 
    problem that causes the crash in the mentioned test case. It's not
    clear weather this fix masks this problem in all possible cases. 
    
    Anyway the patch for bug 698882 introduced some inconsistent data
    structures that could contain indirect references to deleted object.
    It happened when two Item_equal objects were merged and the Item_field
    list of the second object was joined to such list of the first object.
    This operation required adjustment of the backward pointers in 
    Item fields from the joined list. However the adjustment was missing 
    and this caused crashes in the tree for mwl#128.
    
    Now the backward pointers are set only when Item_equal items are
    completely built and are not changed anymore.
     
    847114a2
sql_select.cc 650 KB