• unknown's avatar
    BUG#21617 - crash when selecting from merge table with inconsistent indexes · 1c6bca02
    unknown authored
    Crash may happen when selecting from a merge table that has underlying
    tables with less indexes than in a merge table itself.
    
    If number of keys in merge table is not bigger than requested key number,
    return error.
    
    
    myisammrg/myrg_open.c:
      Store min(number of keys) in m_info instead of number of keys in last
      underlying table.
    myisammrg/myrg_queue.c:
      Return error if inx passed to _myrg_init_queue function is not less
      than number of keys.
    mysql-test/r/merge.result:
      A test case for bug#21617.
    mysql-test/t/merge.test:
      A test case for bug#21617.
    mysys/queues.c:
      Replaced annoying ifndef DBUG_OFF with DBUG_ASSERT, fixed coding style.
      The problem was that having queue overrun in debug build was hidden
      with this ifdef.
    1c6bca02
queues.c 6.44 KB