Cleanup: Remove lock_number_of_rows_locked()
Let us access trx->lock.n_rec_locks directly.
This commit is contained in:
parent
3dabe637ca
commit
bd52f1a2dd
@ -1,7 +1,7 @@
|
||||
/*****************************************************************************
|
||||
|
||||
Copyright (c) 1996, 2016, Oracle and/or its affiliates. All Rights Reserved.
|
||||
Copyright (c) 2017, 2020, MariaDB Corporation.
|
||||
Copyright (c) 2017, 2021, MariaDB Corporation.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify it under
|
||||
the terms of the GNU General Public License as published by the Free Software
|
||||
@ -534,16 +534,6 @@ void
|
||||
lock_print_info_all_transactions(
|
||||
/*=============================*/
|
||||
FILE* file); /*!< in: file where to print */
|
||||
/*********************************************************************//**
|
||||
Return approximate number or record locks (bits set in the bitmap) for
|
||||
this transaction. Since delete-marked records may be removed, the
|
||||
record count will not be precise.
|
||||
The caller must be holding lock_sys.mutex. */
|
||||
ulint
|
||||
lock_number_of_rows_locked(
|
||||
/*=======================*/
|
||||
const trx_lock_t* trx_lock) /*!< in: transaction locks */
|
||||
MY_ATTRIBUTE((warn_unused_result));
|
||||
|
||||
/*********************************************************************//**
|
||||
Return the number of table locks for a transaction.
|
||||
|
@ -1,7 +1,7 @@
|
||||
/*****************************************************************************
|
||||
|
||||
Copyright (c) 2007, 2016, Oracle and/or its affiliates. All Rights Reserved.
|
||||
Copyright (c) 2015, 2018, MariaDB Corporation.
|
||||
Copyright (c) 2015, 2021, MariaDB Corporation.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify it under
|
||||
the terms of the GNU General Public License as published by the Free Software
|
||||
@ -515,6 +515,7 @@ lock_rec_set_nth_bit(
|
||||
@return previous value of the bit */
|
||||
inline byte lock_rec_reset_nth_bit(lock_t* lock, ulint i)
|
||||
{
|
||||
lock_sys.mutex_assert_locked();
|
||||
ut_ad(lock_get_type_low(lock) == LOCK_REC);
|
||||
ut_ad(i < lock->un_member.rec_lock.n_bits);
|
||||
|
||||
@ -524,8 +525,9 @@ inline byte lock_rec_reset_nth_bit(lock_t* lock, ulint i)
|
||||
*b &= byte(~mask);
|
||||
|
||||
if (bit != 0) {
|
||||
ut_ad(lock->trx->lock.n_rec_locks > 0);
|
||||
--lock->trx->lock.n_rec_locks;
|
||||
ut_d(auto n=)
|
||||
lock->trx->lock.n_rec_locks--;
|
||||
ut_ad(n);
|
||||
}
|
||||
|
||||
return(bit);
|
||||
|
@ -1,7 +1,7 @@
|
||||
/*****************************************************************************
|
||||
|
||||
Copyright (c) 2007, 2014, Oracle and/or its affiliates. All Rights Reserved.
|
||||
Copyright (c) 2018, 2020, MariaDB Corporation.
|
||||
Copyright (c) 2018, 2021, MariaDB Corporation.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify it under
|
||||
the terms of the GNU General Public License as published by the Free Software
|
||||
@ -91,6 +91,7 @@ lock_rec_set_nth_bit(
|
||||
ulint byte_index;
|
||||
ulint bit_index;
|
||||
|
||||
lock_sys.mutex_assert_locked();
|
||||
ut_ad(lock);
|
||||
ut_ad(lock_get_type_low(lock) == LOCK_REC);
|
||||
ut_ad(i < lock->un_member.rec_lock.n_bits);
|
||||
@ -106,7 +107,7 @@ lock_rec_set_nth_bit(
|
||||
#if defined __GNUC__ && !defined __clang__ && __GNUC__ < 6
|
||||
# pragma GCC diagnostic pop
|
||||
#endif
|
||||
++lock->trx->lock.n_rec_locks;
|
||||
lock->trx->lock.n_rec_locks++;
|
||||
}
|
||||
|
||||
/*********************************************************************//**
|
||||
|
@ -1,7 +1,7 @@
|
||||
/*****************************************************************************
|
||||
|
||||
Copyright (c) 2007, 2015, Oracle and/or its affiliates. All Rights Reserved.
|
||||
Copyright (c) 2017, 2020, MariaDB Corporation.
|
||||
Copyright (c) 2017, 2021, MariaDB Corporation.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify it under
|
||||
the terms of the GNU General Public License as published by the Free Software
|
||||
@ -138,7 +138,7 @@ struct i_s_trx_row_t {
|
||||
ulint trx_lock_memory_bytes;
|
||||
/*!< mem_heap_get_size(
|
||||
trx->lock_heap) */
|
||||
ulint trx_rows_locked;/*!< lock_number_of_rows_locked() */
|
||||
ulint trx_rows_locked;/*!< trx_lock_t::n_rec_locks */
|
||||
uintmax_t trx_rows_modified;/*!< trx_t::undo_no */
|
||||
uint trx_isolation_level;
|
||||
/*!< trx_t::isolation_level */
|
||||
|
@ -1,7 +1,7 @@
|
||||
/*****************************************************************************
|
||||
|
||||
Copyright (c) 1996, 2016, Oracle and/or its affiliates. All Rights Reserved.
|
||||
Copyright (c) 2015, 2020, MariaDB Corporation.
|
||||
Copyright (c) 2015, 2021, MariaDB Corporation.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify it under
|
||||
the terms of the GNU General Public License as published by the Free Software
|
||||
@ -245,7 +245,7 @@ trx_print_low(
|
||||
/*!< in: max query length to print,
|
||||
or 0 to use the default max length */
|
||||
ulint n_rec_locks,
|
||||
/*!< in: lock_number_of_rows_locked(&trx->lock) */
|
||||
/*!< in: trx->lock.n_rec_locks */
|
||||
ulint n_trx_locks,
|
||||
/*!< in: length of trx->lock.trx_locks */
|
||||
ulint heap_size);
|
||||
@ -560,7 +560,8 @@ struct trx_lock_t {
|
||||
mutex to prevent recursive deadlocks.
|
||||
Protected by both the lock sys mutex
|
||||
and the trx_t::mutex. */
|
||||
ulint n_rec_locks; /*!< number of rec locks in this trx */
|
||||
/** number of record locks; writes are protected by lock_sys.mutex */
|
||||
ulint n_rec_locks;
|
||||
};
|
||||
|
||||
/** Logical first modification time of a table in a transaction */
|
||||
|
@ -1,7 +1,7 @@
|
||||
/*****************************************************************************
|
||||
|
||||
Copyright (c) 1996, 2017, Oracle and/or its affiliates. All Rights Reserved.
|
||||
Copyright (c) 2014, 2020, MariaDB Corporation.
|
||||
Copyright (c) 2014, 2021, MariaDB Corporation.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify it under
|
||||
the terms of the GNU General Public License as published by the Free Software
|
||||
@ -1157,21 +1157,6 @@ lock_sec_rec_some_has_impl(
|
||||
return(trx);
|
||||
}
|
||||
|
||||
/*********************************************************************//**
|
||||
Return approximate number or record locks (bits set in the bitmap) for
|
||||
this transaction. Since delete-marked records may be removed, the
|
||||
record count will not be precise.
|
||||
The caller must be holding lock_sys.mutex. */
|
||||
ulint
|
||||
lock_number_of_rows_locked(
|
||||
/*=======================*/
|
||||
const trx_lock_t* trx_lock) /*!< in: transaction locks */
|
||||
{
|
||||
lock_sys.mutex_assert_locked();
|
||||
|
||||
return(trx_lock->n_rec_locks);
|
||||
}
|
||||
|
||||
/*********************************************************************//**
|
||||
Return the number of table locks for a transaction.
|
||||
The caller must be holding lock_sys.mutex. */
|
||||
@ -5940,7 +5925,7 @@ DeadlockChecker::print(const trx_t* trx, ulint max_query_len)
|
||||
{
|
||||
lock_sys.mutex_assert_locked();
|
||||
|
||||
ulint n_rec_locks = lock_number_of_rows_locked(&trx->lock);
|
||||
ulint n_rec_locks = trx->lock.n_rec_locks;
|
||||
ulint n_trx_locks = UT_LIST_GET_LEN(trx->lock.trx_locks);
|
||||
ulint heap_size = mem_heap_get_size(trx->lock.lock_heap);
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
/*****************************************************************************
|
||||
|
||||
Copyright (c) 1996, 2016, Oracle and/or its affiliates. All Rights Reserved.
|
||||
Copyright (c) 2016, 2020, MariaDB Corporation.
|
||||
Copyright (c) 2016, 2021, MariaDB Corporation.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify it under
|
||||
the terms of the GNU General Public License as published by the Free Software
|
||||
@ -705,7 +705,7 @@ row_ins_foreign_trx_print(
|
||||
ut_ad(!srv_read_only_mode);
|
||||
|
||||
lock_sys.mutex_lock();
|
||||
n_rec_locks = lock_number_of_rows_locked(&trx->lock);
|
||||
n_rec_locks = trx->lock.n_rec_locks;
|
||||
n_trx_locks = UT_LIST_GET_LEN(trx->lock.trx_locks);
|
||||
heap_size = mem_heap_get_size(trx->lock.lock_heap);
|
||||
lock_sys.mutex_unlock();
|
||||
|
@ -1,7 +1,7 @@
|
||||
/*****************************************************************************
|
||||
|
||||
Copyright (c) 2007, 2015, Oracle and/or its affiliates. All Rights Reserved.
|
||||
Copyright (c) 2017, 2020, MariaDB Corporation.
|
||||
Copyright (c) 2017, 2021, MariaDB Corporation.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify it under
|
||||
the terms of the GNU General Public License as published by the Free Software
|
||||
@ -487,7 +487,7 @@ thd_done:
|
||||
|
||||
row->trx_lock_memory_bytes = mem_heap_get_size(trx->lock.lock_heap);
|
||||
|
||||
row->trx_rows_locked = lock_number_of_rows_locked(&trx->lock);
|
||||
row->trx_rows_locked = trx->lock.n_rec_locks;
|
||||
|
||||
row->trx_rows_modified = trx->undo_no;
|
||||
|
||||
|
@ -1761,7 +1761,7 @@ trx_print_low(
|
||||
/*!< in: max query length to print,
|
||||
or 0 to use the default max length */
|
||||
ulint n_rec_locks,
|
||||
/*!< in: lock_number_of_rows_locked(&trx->lock) */
|
||||
/*!< in: trx->lock.n_rec_locks */
|
||||
ulint n_trx_locks,
|
||||
/*!< in: length of trx->lock.trx_locks */
|
||||
ulint heap_size)
|
||||
@ -1872,7 +1872,7 @@ trx_print_latched(
|
||||
lock_sys.mutex_assert_locked();
|
||||
|
||||
trx_print_low(f, trx, max_query_len,
|
||||
lock_number_of_rows_locked(&trx->lock),
|
||||
trx->lock.n_rec_locks,
|
||||
UT_LIST_GET_LEN(trx->lock.trx_locks),
|
||||
mem_heap_get_size(trx->lock.lock_heap));
|
||||
}
|
||||
@ -1893,7 +1893,7 @@ trx_print(
|
||||
ulint heap_size;
|
||||
|
||||
lock_sys.mutex_lock();
|
||||
n_rec_locks = lock_number_of_rows_locked(&trx->lock);
|
||||
n_rec_locks = trx->lock.n_rec_locks;
|
||||
n_trx_locks = UT_LIST_GET_LEN(trx->lock.trx_locks);
|
||||
heap_size = mem_heap_get_size(trx->lock.lock_heap);
|
||||
lock_sys.mutex_unlock();
|
||||
|
Loading…
x
Reference in New Issue
Block a user