MySQL 8.3.0
Source Code Documentation
Wait_for_flush Class Reference

Class representing the fact that some thread waits for table share to be flushed. More...

#include <table.h>

Inheritance diagram for Wait_for_flush:
[legend]

Public Member Functions

 Wait_for_flush (MDL_context *ctx_arg, TABLE_SHARE *share_arg, uint deadlock_weight_arg)
 
MDL_contextget_ctx () const
 
bool accept_visitor (MDL_wait_for_graph_visitor *dvisitor) override
 Traverse portion of wait-for graph which is reachable through edge represented by this flush ticket in search for deadlocks. More...
 
uint get_deadlock_weight () const override
 
- Public Member Functions inherited from MDL_wait_for_subgraph
virtual ~MDL_wait_for_subgraph ()
 

Public Attributes

Wait_for_flushnext_in_share
 Pointers for participating in the list of waiters for table share. More...
 
Wait_for_flush ** prev_in_share
 

Private Attributes

MDL_contextm_ctx
 
TABLE_SHAREm_share
 
uint m_deadlock_weight
 

Additional Inherited Members

- Static Public Attributes inherited from MDL_wait_for_subgraph
static const uint DEADLOCK_WEIGHT_CO = 0
 
static const uint DEADLOCK_WEIGHT_DML = 25
 
static const uint DEADLOCK_WEIGHT_ULL = 50
 
static const uint DEADLOCK_WEIGHT_DDL = 100
 

Detailed Description

Class representing the fact that some thread waits for table share to be flushed.

Is used to represent information about such waits in MDL deadlock detector.

Constructor & Destructor Documentation

◆ Wait_for_flush()

Wait_for_flush::Wait_for_flush ( MDL_context ctx_arg,
TABLE_SHARE share_arg,
uint  deadlock_weight_arg 
)
inline

Member Function Documentation

◆ accept_visitor()

bool Wait_for_flush::accept_visitor ( MDL_wait_for_graph_visitor gvisitor)
overridevirtual

Traverse portion of wait-for graph which is reachable through edge represented by this flush ticket in search for deadlocks.

Return values
trueA deadlock is found. A victim is remembered by the visitor.
falseSuccess, no deadlocks.

Implements MDL_wait_for_subgraph.

◆ get_ctx()

MDL_context * Wait_for_flush::get_ctx ( ) const
inline

◆ get_deadlock_weight()

uint Wait_for_flush::get_deadlock_weight ( ) const
overridevirtual

Implements MDL_wait_for_subgraph.

Member Data Documentation

◆ m_ctx

MDL_context* Wait_for_flush::m_ctx
private

◆ m_deadlock_weight

uint Wait_for_flush::m_deadlock_weight
private

◆ m_share

TABLE_SHARE* Wait_for_flush::m_share
private

◆ next_in_share

Wait_for_flush* Wait_for_flush::next_in_share

Pointers for participating in the list of waiters for table share.

◆ prev_in_share

Wait_for_flush** Wait_for_flush::prev_in_share

The documentation for this class was generated from the following files: