• mithun's avatar
    Bug #17307201 : FAILING ASSERTION: PREBUILT->TRX->CONC_STATE == 1 · 1e04605a
    mithun authored
                    FROM SUBSELECT
    ISSUE         : In function find_all_keys.
                    If selected row do not satisfy condition
                    then we call unlock_row to release the locked
                    row. Suppose if we have subquery in condition
                    and we have an innodb error during its execution.
                    Then we should not call the unlock_row. If the error
                    is because of deadlock, innodb will rollback the
                    transaction. And calling unlock_row without
                    transaction is an invalid case hence an assertion
                    failure.
    SOLUTION      : We call unlock_row only if only there is no
                    error occurred previously.
                    The solution is back ported from 5.6
                    defect number 14226481
    1e04605a
filesort.cc 50.2 KB