Definition: hash0hash.h:375
 
A RAII helper which latches global_latch in exclusive mode during constructor, and unlatches it durin...
Definition: lock0guards.h:40
 
Global_exclusive_latch_guard(ut::Location location)
Definition: lock0guards.cc:38
 
~Global_exclusive_latch_guard()
Definition: lock0guards.cc:43
 
A RAII helper which tries to exclusively latch the global_lach in constructor and unlatches it,...
Definition: lock0guards.h:51
 
bool owns_lock() const noexcept
Checks if succeeded to latch the global_latch during construction.
Definition: lock0guards.h:58
 
bool m_owns_exclusive_global_latch
Did the constructor succeed to acquire exclusive global lock_sys latch?
Definition: lock0guards.h:62
 
~Global_exclusive_try_latch()
Definition: lock0guards.cc:54
 
Global_exclusive_try_latch(ut::Location location)
Definition: lock0guards.cc:49
 
A RAII helper which latches global_latch in shared mode during constructor, and unlatches it during d...
Definition: lock0guards.h:71
 
Global_shared_latch_guard(ut::Location location)
Definition: lock0guards.cc:94
 
bool is_x_blocked_by_us()
Checks if there is a thread requesting the global_latch in exclusive mode blocked by our thread.
Definition: lock0guards.cc:101
 
~Global_shared_latch_guard()
Definition: lock0guards.cc:98
 
A RAII wrapper class which combines Global_shared_latch_guard and Shard_naked_latch_guard to s-latch ...
Definition: lock0guards.h:118
 
Shard_latch_guard(ut::Location location, const page_id_t &page_id)
Definition: lock0guards.h:127
 
Shard_latch_guard(ut::Location location, const dict_table_t &table)
Definition: lock0guards.h:123
 
Global_shared_latch_guard m_global_shared_latch_guard
Definition: lock0guards.h:119
 
Shard_naked_latch_guard m_shard_naked_latch_guard
Definition: lock0guards.h:120
 
A RAII wrapper class which s-latches the global lock_sys shard, and mutexes protecting specified shar...
Definition: lock0guards.h:171
 
Shard_latches_guard(ut::Location location, const buf_block_t &block_a, const buf_block_t &block_b)
Definition: lock0guards.h:173
 
Global_shared_latch_guard m_global_shared_latch_guard
Definition: lock0guards.h:180
 
Shard_naked_latches_guard m_shard_naked_latches_guard
Definition: lock0guards.h:181
 
A RAII helper which latches the mutex protecting given shard during constructor, and unlatches it dur...
Definition: lock0guards.h:91
 
~Shard_naked_latch_guard()
Definition: lock0guards.cc:88
 
Lock_mutex & m_shard_mutex
The mutex protecting the shard requested in constructor.
Definition: lock0guards.h:109
 
Shard_naked_latch_guard(ut::Location location, Lock_mutex &shard_mutex)
Definition: lock0guards.cc:63
 
A RAII helper which latches the mutexes protecting specified shards for the duration of its scope.
Definition: lock0guards.h:144
 
~Shard_naked_latches_guard()
Definition: lock0guards.cc:124
 
static constexpr std::less< Lock_mutex * > MUTEX_ORDER
The ordering on shard mutexes used to avoid deadlocks.
Definition: lock0guards.h:160
 
Lock_mutex & m_shard_mutex_1
The "smallest" of the two shards' mutexes in the latching order.
Definition: lock0guards.h:156
 
Shard_naked_latches_guard(Lock_mutex &shard_mutex_a, Lock_mutex &shard_mutex_b)
Definition: lock0guards.cc:107
 
Lock_mutex & m_shard_mutex_2
The "largest" of the two shards' mutexes in the latching order.
Definition: lock0guards.h:158
 
Page identifier.
Definition: buf0types.h:207
 
A utility class which, if inherited from, prevents the descendant class from being copied,...
Definition: ut0class_life_cycle.h:41
 
ib_id_t table_id_t
Table or partition identifier (unique within an InnoDB instance).
Definition: dict0types.h:232
 
The transaction lock system.
 
ib_mutex_t Lock_mutex
Definition: lock0lock.h:1003
 
Definition: lock0guards.h:34
 
The buffer control block structure.
Definition: buf0buf.h:1708
 
Data structure for a database table.
Definition: dict0mem.h:1918
 
Utilities related to class lifecycle.
 
unsigned long id[MAX_DEAD]
Definition: xcom_base.cc:510