Commit 43f9ef5d authored by heikki@hundin.mysql.fi's avatar heikki@hundin.mysql.fi
Browse files

lock0lock.c:

  Fix bug: the AUTO-INC lock was held to the end of trx if it was granted after a lock wait
parent 66646cc4
Loading
Loading
Loading
Loading
+13 −0
Original line number Diff line number Diff line
@@ -1864,6 +1864,19 @@ lock_grant(

	lock_reset_lock_and_trx_wait(lock);
	
	if (lock_get_mode(lock) == LOCK_AUTO_INC) {

	         if (lock->trx->auto_inc_lock != NULL) {
	                 fprintf(stderr,
		    "InnoDB: Error: trx already had an AUTO-INC lock!\n");
	         }

	         /* Store pointer to lock to trx so that we know to
	         release it at the end of the SQL statement */

	         lock->trx->auto_inc_lock = lock;
	}

	if (lock_print_waits) {
		printf("Lock wait for trx %lu ends\n",
					ut_dulint_get_low(lock->trx->id));