MySQL 8.0.39
Source Code Documentation
|
If the defining user for a routine does not exist, then the ACL lookup code should raise two errors which we should intercept. More...
Public Member Functions | |
Silence_routine_definer_errors () | |
bool | handle_condition (THD *, uint sql_errno, const char *, Sql_condition::enum_severity_level *level, const char *) override |
Handle a sql condition. More... | |
bool | has_errors () const |
Private Attributes | |
bool | is_grave |
Additional Inherited Members | |
Protected Member Functions inherited from Internal_error_handler | |
Internal_error_handler () | |
Internal_error_handler * | prev_internal_handler () const |
virtual | ~Internal_error_handler ()=default |
If the defining user for a routine does not exist, then the ACL lookup code should raise two errors which we should intercept.
We convert the more descriptive error into a warning, and consume the other.
If any other errors are raised, then we set a flag that should indicate that there was some failure we should complain at a higher level.
|
inline |
|
inlineoverridevirtual |
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.
|
inline |
|
private |