Hi, Holyfoot!

On Feb 22, [email protected] wrote:
> revno: 4077
> revision-id: [email protected]
> parent: [email protected]
> committer: Alexey Botchkov <[email protected]>
> branch nick: mdev-4856
> timestamp: Sat 2014-02-22 21:35:43 +0400
> message:
>   MDEV-4856 SQL_ERROR_LOG shows 1146 errors which didnt appear in mysql 
> client.
>       The fill_schema_table() function used to call get_table_share()
>       for a table name in WHERE then clear the error list. That way
>       plugins receive the superfluous error notification if it happens
>       in it. Also the problem was that error handler didn't prevent
>       the suppressed error message from logging anyway as the logging
>       happens in THD::raise_condition before the handler call.
>       Fixed by adding the Warnings_only_error_handler before the call.
>       raise_condition() also fixed.  The Internal_error_handler class
>       was exteded with virtual functions to handle storing the error
>       message.

This looks too complex to me. Why would you extend the base
Internal_error_handler class - no other error handler did that or needed
that, fwiw.

I'd simply push an error handler, store the first message there and
access it in get_schema_tables_record() via THD::get_internal_handler().

Regards,
Sergei

_______________________________________________
Mailing list: https://launchpad.net/~maria-developers
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp

Reply via email to