MySQL 8.4.2
Source Code Documentation
|
All (ordered) latches, used in debugging, must derive from this class. More...
#include <sync0types.h>
Public Member Functions | |
latch_t (latch_id_t id=LATCH_ID_NONE) 1 | |
Constructor. More... | |
latch_t & | operator= (const latch_t &)=default |
virtual | ~latch_t () 1=default |
Destructor. More... | |
latch_id_t | get_id () const |
bool | is_rw_lock () const 1 |
virtual std::string | to_string () const =0 |
Print the latch context. More... | |
virtual std::string | locked_from () const =0 |
latch_level_t | get_level () const 1 |
bool | is_temp_fsp () const 1 |
void | set_temp_fsp () 1 |
Set the temporary tablespace flag. More... | |
const char * | get_name () const 1 |
Public Attributes | |
latch_id_t | m_id |
Latch ID. More... | |
bool | m_rw_lock |
true if it is a rw-lock. More... | |
bool | m_temp_fsp |
true if it is an temporary space latch More... | |
All (ordered) latches, used in debugging, must derive from this class.
|
inlineexplicit |
Constructor.
[in] | id | The latch ID |
|
virtualdefault |
Destructor.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
pure virtual |
Implemented in MutexDebug< Mutex >::Context, and rw_lock_t.
|
inline |
Set the temporary tablespace flag.
The latch order constraints are different for intrinsic tables. We don't always acquire the index->lock. We need to figure out the context and add some special rules during the checks.
|
pure virtual |
Print the latch context.
Implemented in rw_lock_t, and MutexDebug< Mutex >::Context.
latch_id_t latch_t::m_id |
Latch ID.
bool latch_t::m_rw_lock |
true if it is a rw-lock.
In debug mode, rw_lock_t derives from this class and sets this variable.
bool latch_t::m_temp_fsp |
true if it is an temporary space latch