Commit 7ee05059 authored by unknown's avatar unknown
Browse files

lock0lock.c:

  Decrement n_lock_table_exp in lock_table_remove_low()
  instead of lock_table_dequeue().
  Do not empty lock_heap in lock_release_tables_off_kernel().


innobase/lock/lock0lock.c:
  Decrement n_lock_table_exp in lock_table_remove_low()
  instead of lock_table_dequeue().
  Do not empty lock_heap in lock_release_tables_off_kernel().
parent 63c915c7
Loading
Loading
Loading
Loading
+6 −8
Original line number Diff line number Diff line
@@ -3202,7 +3202,7 @@ lock_table_create(
	lock->type_mode = type_mode | LOCK_TABLE;
	lock->trx = trx;

	if ((lock->type_mode & LOCK_TABLE_EXP) == LOCK_TABLE_EXP) {
	if (lock_get_type(lock) == LOCK_TABLE_EXP) {
		lock->trx->n_lock_table_exp++;
	}

@@ -3242,6 +3242,10 @@ lock_table_remove_low(
		trx->auto_inc_lock = NULL;
	}

	if (lock_get_type(lock) == LOCK_TABLE_EXP) {
		lock->trx->n_lock_table_exp--;
	}

	UT_LIST_REMOVE(trx_locks, trx->trx_locks, lock);
	UT_LIST_REMOVE(un_member.tab_lock.locks, table->locks, lock);
}	
@@ -3509,10 +3513,6 @@ lock_table_dequeue(

	lock_table_remove_low(in_lock);

	if (lock_get_type(in_lock) == LOCK_TABLE_EXP) {
		in_lock->trx->n_lock_table_exp--;
	}
	
	/* Check if waiting locks in the queue can now be granted: grant
	locks if there are no conflicting locks ahead. */

@@ -3698,8 +3698,6 @@ lock_release_tables_off_kernel(
		lock = UT_LIST_GET_PREV(trx_locks, lock);
	}

	mem_heap_empty(trx->lock_heap);

	ut_a(trx->n_lock_table_exp == 0);
}