Bug #17307201 : FAILING ASSERTION: PREBUILT->TRX->CONC_STATE == 1
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 sql/filesort.cc: Now we call unlock_row only if there is no previous error.
Showing
Please register or sign in to comment