• Chaithra Gopalareddy's avatar
    Bug#16347426:ASSERTION FAILED: (SELECT_INSERT && · 4db726c0
    Chaithra Gopalareddy authored
                 !TABLES->NEXT_NAME_RESOLUTION_TABLE) || !TAB
          
    Problem:
    The context info of select query gets corrupted when a query
    with group_concat having order by is present in an order by
    clause of the select query. As a result, server crashes with
    an assert.
          
    Analysis:
    While parsing order by for group_concat, it is presumed that
    it is always present before the actual order by for the
    select query.
    As a result, parser uses select->order_list to populate the
    order by items of group_concat and creates a select->gorder_list
    to which select->order_list is copied onto. Once this is done,
    it empties the select->order_list.
    In the case presented in the bugpage, as order by is already
    parsed when group_concat's order by is encountered, parser
    presumes that it is the second order by in the select query
    and creates fake_lex_unit which results in the change of
    context info.
          
    Solution:
    Make group_concat's order by parsing independent of the select
    4db726c0
sql_lex.h 61.1 KB