MySQL 5.6.14 Source Code Document
|
Public Member Functions | |
Deadlock_detection_visitor (MDL_context *start_node_arg) | |
virtual bool | enter_node (MDL_context *node) |
virtual void | leave_node (MDL_context *node) |
virtual bool | inspect_edge (MDL_context *dest) |
MDL_context * | get_victim () const |
Additional Inherited Members | |
Public Attributes inherited from MDL_wait_for_graph_visitor | |
uint | m_lock_open_count |
A context of the recursive traversal through all contexts in all sessions in search for deadlock.
|
virtual |
Enter a node of a wait-for graph. After a node is entered, inspect_edge() will be called for all wait-for destinations of this node. Then leave_node() will be called. We call "enter_node()" for all nodes we inspect, including the starting node.
TRUE | Maximum search depth exceeded. |
FALSE | OK. |
Implements MDL_wait_for_graph_visitor.
|
virtual |
Inspect a wait-for graph edge from one MDL context to another.
TRUE | A loop is found. |
FALSE | No loop is found. |
Implements MDL_wait_for_graph_visitor.
|
virtual |
Done inspecting this node. Decrease the search depth. If a deadlock is found, and we are backtracking to the start node, optionally change the deadlock victim to one with lower deadlock weight.
Implements MDL_wait_for_graph_visitor.