Commit 5bcbe404 authored by unknown's avatar unknown
Browse files

trx0trx.ic, trx0trx.h:

  Fix bug in the Bug #3300 bug fix


innobase/include/trx0trx.h:
  Fix bug in the Bug #3300 bug fix
innobase/include/trx0trx.ic:
  Fix bug in the Bug #3300 bug fix
parent 8561600a
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -29,9 +29,9 @@ trx_reset_new_rec_lock_info(
/*========================*/
	trx_t*	trx);	/* in: transaction struct */
/*****************************************************************
Registers that we have set a new record lock on an index. This can only be
called twice after calling trx_reset_new_rec_lock_info(), since we only have
space to store 2 indexes! */
Registers that we have set a new record lock on an index. We only have
space to store 2 indexes! If this is called more than twice after
trx_reset_new_rec_lock_info(), then this function does nothing. */
UNIV_INLINE
void
trx_register_new_rec_lock(
+13 −5
Original line number Diff line number Diff line
@@ -52,9 +52,9 @@ trx_reset_new_rec_lock_info(
}

/*****************************************************************
Registers that we have set a new record lock on an index. This can only be
called twice after calling trx_reset_new_rec_lock_info(), since we only have
space to store 2 indexes! */
Registers that we have set a new record lock on an index. We only have
space to store 2 indexes! If this is called more than twice after
trx_reset_new_rec_lock_info(), then this function does nothing. */
UNIV_INLINE
void
trx_register_new_rec_lock(
@@ -69,7 +69,15 @@ trx_register_new_rec_lock(
		return;
	}

	ut_a(trx->new_rec_locks[1] == NULL);
	if (trx->new_rec_locks[0] == index) {

		return;
	}

	if (trx->new_rec_locks[1] != NULL) {

		return;
	}

	trx->new_rec_locks[1] = index;
}