![]() |
MySQL
8.0.18
Source Code Documentation
|
An error handler which converts, if possible, ER_LOCK_DEADLOCK error that can occur when we are trying to acquire a metadata lock to a request for back-off and re-start of open_tables() process. More...
Public Member Functions | |
MDL_deadlock_handler (Open_table_context *ot_ctx_arg) | |
virtual bool | handle_condition (THD *, uint sql_errno, const char *, Sql_condition::enum_severity_level *, const char *) |
Handle a sql condition. More... | |
Private Attributes | |
Open_table_context * | m_ot_ctx |
Open table context to be used for back-off request. More... | |
bool | m_is_active |
Indicates that we are already in the process of handling ER_LOCK_DEADLOCK error. More... | |
Additional Inherited Members | |
![]() | |
Internal_error_handler () | |
Internal_error_handler * | prev_internal_handler () const |
virtual | ~Internal_error_handler () |
An error handler which converts, if possible, ER_LOCK_DEADLOCK error that can occur when we are trying to acquire a metadata lock to a request for back-off and re-start of open_tables() process.
|
inline |
|
inlinevirtual |
Handle a sql condition.
This method can be implemented by a subclass to achieve any of the following:
This mechanism is similar to C++ try/throw/catch:
THD::push_internal_handler()
,my_error()
, which invokes my_message_sql()
,THD::pop_internal_handler()
.thd | the calling thread |
sql_errno | the error number for the condition raised. |
sqlstate | the SQLSTATE for the condition raised. |
level | the severity level for the condition raised. |
msg | the error message for the condition raised. |
Implements Internal_error_handler.
|
private |
Indicates that we are already in the process of handling ER_LOCK_DEADLOCK error.
Allows to re-emit the error from the error handler without falling into infinite recursion.
|
private |
Open table context to be used for back-off request.