MySQL 5.6.14 Source Code Document
|
#include <mdl.h>
Public Member Functions | |
bool | has_pending_conflicting_lock () const |
MDL_context * | get_ctx () const |
bool | is_upgradable_or_exclusive () const |
enum_mdl_type | get_type () const |
MDL_lock * | get_lock () const |
void | downgrade_lock (enum_mdl_type type) |
bool | has_stronger_or_equal_type (enum_mdl_type type) const |
bool | is_incompatible_when_granted (enum_mdl_type type) const |
bool | is_incompatible_when_waiting (enum_mdl_type type) const |
virtual bool | accept_visitor (MDL_wait_for_graph_visitor *dvisitor) |
virtual uint | get_deadlock_weight () const |
Public Attributes | |
MDL_ticket * | next_in_context |
MDL_ticket ** | prev_in_context |
MDL_ticket * | next_in_lock |
MDL_ticket ** | prev_in_lock |
Friends | |
class | MDL_context |
Additional Inherited Members | |
Public Types inherited from MDL_wait_for_subgraph | |
enum | enum_deadlock_weight { DEADLOCK_WEIGHT_DML = 0, DEADLOCK_WEIGHT_DDL = 100 } |
A granted metadata lock.
|
virtual |
Implement MDL_wait_for_subgraph interface.
Traverse a portion of wait-for graph which is reachable through the edge represented by this ticket and search for deadlocks.
Implements MDL_wait_for_subgraph.
void MDL_ticket::downgrade_lock | ( | enum_mdl_type | type | ) |
|
virtual |
Return the 'weight' of this ticket for the victim selection algorithm. Requests with lower weight are preferred to requests with higher weight when choosing a victim.
Implements MDL_wait_for_subgraph.
Definition at line 1205 of file mdl.cc.
bool MDL_ticket::has_pending_conflicting_lock | ( | ) | const |
bool MDL_ticket::has_stronger_or_equal_type | ( | enum_mdl_type | type | ) | const |
Check if ticket represents metadata lock of "stronger" or equal type than specified one. I.e. if metadata lock represented by ticket won't allow any of locks which are not allowed by specified type of lock.
Definition at line 1818 of file mdl.cc.
MDL_ticket* MDL_ticket::next_in_context |
MDL_ticket* MDL_ticket::next_in_lock |