|
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.