• Sergei Petrunia's avatar
    MDEV-30651: Assertion `sel->quick' in make_range_rowid_filters · a2066b24
    Sergei Petrunia authored
    The optimizer deals with Rowid Filters this way:
    
    1. First, range optimizer is invoked. It saves information
       about all potential range accesses.
    2. A query plan is chosen. Suppose, it uses a Rowid Filter on
       index $IDX.
    3. JOIN::make_range_rowid_filters() calls the range optimizer
    again to create a quick select on index $IDX which will be used
    to populate the rowid filter.
    
    The problem: KILL command catches the query in step #3. Quick
    Select is not created which causes a crash.
    
    Fixed by checking if query was killed. Note: the problem also
    affects 10.6, even if error handling for
    SQL_SELECT::test_quick_select is different there.
    a2066b24
sql_select.cc 998 KB