diff --git a/include/lf.h b/include/lf.h index a9d7e9ee688..fe861a524dc 100644 --- a/include/lf.h +++ b/include/lf.h @@ -167,6 +167,8 @@ void *lf_hash_search_using_hash_value(LF_HASH *hash, LF_PINS *pins, int lf_hash_delete(LF_HASH *hash, LF_PINS *pins, const void *key, uint keylen); int lf_hash_iterate(LF_HASH *hash, LF_PINS *pins, my_hash_walk_action action, void *argument); +#define lf_hash_size(hash) \ + my_atomic_load32_explicit(&(hash)->count, MY_MEMORY_ORDER_RELAXED) /* shortcut macros to access underlying pinbox functions from an LF_HASH see lf_pinbox_get_pins() and lf_pinbox_put_pins() diff --git a/sql/mdl.cc b/sql/mdl.cc index c06a212ed19..19468a124c6 100644 --- a/sql/mdl.cc +++ b/sql/mdl.cc @@ -782,7 +782,7 @@ void MDL_map::destroy() { delete m_backup_lock; - DBUG_ASSERT(!my_atomic_load32(&m_locks.count)); + DBUG_ASSERT(!lf_hash_size(&m_locks)); lf_hash_destroy(&m_locks); } diff --git a/sql/table_cache.cc b/sql/table_cache.cc index c23bb53b9a9..980dd2e4672 100644 --- a/sql/table_cache.cc +++ b/sql/table_cache.cc @@ -689,7 +689,7 @@ void tdc_deinit(void) ulong tdc_records(void) { - return my_atomic_load32_explicit(&tdc_hash.count, MY_MEMORY_ORDER_RELAXED); + return lf_hash_size(&tdc_hash); } diff --git a/storage/innobase/include/trx0sys.h b/storage/innobase/include/trx0sys.h index e73cbb81c32..92f24d036ae 100644 --- a/storage/innobase/include/trx0sys.h +++ b/storage/innobase/include/trx0sys.h @@ -704,11 +704,7 @@ public: because it may change even before this method returns. */ - uint32_t size() - { - return uint32_t(my_atomic_load32_explicit(&hash.count, - MY_MEMORY_ORDER_RELAXED)); - } + uint32_t size() { return uint32_t(lf_hash_size(&hash)); } /**