maria-developers team mailing list archive
-
maria-developers team
-
Mailing list archive
-
Message #06850
Re: Rev 4077: MDEV-4856 SQL_ERROR_LOG shows 1146 errors which didnt appear in mysql client
Hi, Holyfoot!
On Feb 22, holyfoot@xxxxxxxxxxxx wrote:
> revno: 4077
> revision-id: holyfoot@xxxxxxxxxxxx-20140222173543-xkzlp5rpga41evur
> parent: svoj@xxxxxxxxxxx-20140218065405-vw3bfhvhrfjsc6hh
> committer: Alexey Botchkov <holyfoot@xxxxxxxxxxxx>
> 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
Follow ups