MySQL 8.0.39
Source Code Documentation
|
Wrapper around MDL_context class which allows to store it in backup manager's collection. More...
Public Member Functions | |
MDL_context_backup () | |
~MDL_context_backup () override | |
MDL_context * | get_context () |
Public Member Functions inherited from MDL_context_owner | |
virtual | ~MDL_context_owner ()=default |
Private Member Functions | |
void | enter_cond (mysql_cond_t *, mysql_mutex_t *, const PSI_stage_info *, PSI_stage_info *, const char *, const char *, int) override |
Enter a condition wait. More... | |
void | exit_cond (const PSI_stage_info *, const char *, const char *, int) override |
End a wait on a condition. More... | |
int | is_killed () const override |
Has the owner thread been killed? More... | |
bool | might_have_commit_order_waiters () const final |
Indicates that owner thread might have some commit order (non-MDL) waits for it which are still taken into account by MDL deadlock detection, even in cases when it doesn't have any MDL locks acquired and therefore can't have any MDL waiters. More... | |
THD * | get_thd () override |
void | notify_shared_lock (MDL_context_owner *, bool) override |
bool | notify_hton_pre_acquire_exclusive (const MDL_key *, bool *) override |
Notify/get permission from interested storage engines before acquiring exclusive lock for the key. More... | |
void | notify_hton_post_release_exclusive (const MDL_key *) override |
Notify interested storage engines that we have just released exclusive lock for the key. More... | |
uint | get_rand_seed () const override |
Get random seed specific to this THD to be used for initialization of PRNG for the MDL_context. More... | |
bool | is_connected (bool=false) override |
Does the owner still have connection to the client? More... | |
Private Attributes | |
MDL_context | m_context |
Wrapper around MDL_context class which allows to store it in backup manager's collection.
Also implements MDL_context_owner interface and serves as owner for stored MDL_context.
|
inline |
|
inlineoverride |
|
inlineoverrideprivatevirtual |
Enter a condition wait.
For enter_cond()
/ exit_cond()
to work the mutex must be held before enter_cond()
; this mutex must then be released before exit_cond()
. Usage must be: lock mutex; enter_cond(); your code; unlock mutex; exit_cond().
cond | the condition to wait on | |
mutex | the associated mutex | |
[in] | stage | the stage to enter, or NULL |
[out] | old_stage | the previous stage, or NULL |
src_function | function name of the caller | |
src_file | file name of the caller | |
src_line | line number of the caller |
Implements MDL_context_owner.
|
inlineoverrideprivatevirtual |
End a wait on a condition.
[in] | stage | the new stage to enter |
src_function | function name of the caller | |
src_file | file name of the caller | |
src_line | line number of the caller |
Implements MDL_context_owner.
|
inline |
|
inlineoverrideprivatevirtual |
Get random seed specific to this THD to be used for initialization of PRNG for the MDL_context.
Implements MDL_context_owner.
|
inlineoverrideprivatevirtual |
Implements MDL_context_owner.
|
inlineoverrideprivatevirtual |
Does the owner still have connection to the client?
Implements MDL_context_owner.
|
inlineoverrideprivatevirtual |
Has the owner thread been killed?
Implements MDL_context_owner.
|
inlinefinalprivatevirtual |
Indicates that owner thread might have some commit order (non-MDL) waits for it which are still taken into account by MDL deadlock detection, even in cases when it doesn't have any MDL locks acquired and therefore can't have any MDL waiters.
Implements MDL_context_owner.
|
inlineoverrideprivatevirtual |
Notify interested storage engines that we have just released exclusive lock for the key.
Implements MDL_context_owner.
|
inlineoverrideprivatevirtual |
Notify/get permission from interested storage engines before acquiring exclusive lock for the key.
The returned argument 'victimized' specify reason for lock not granted. If 'true', lock was refused in an attempt to resolve a possible MDL->GSL deadlock. Locking may then be retried.
Implements MDL_context_owner.
|
inlineoverrideprivatevirtual |
Implements MDL_context_owner.
|
private |