diff options
author | monty@mashka.mysql.fi <> | 2002-11-21 02:07:14 +0200 |
---|---|---|
committer | monty@mashka.mysql.fi <> | 2002-11-21 02:07:14 +0200 |
commit | 305d16a7cb3955c20ab5d119b3eb0968008683b6 (patch) | |
tree | e086ef10a8fa45e7bf43bf8810311b4b931601d1 /sql/sql_error.cc | |
parent | f86d328927018f0392ee8c01af19f76d26865417 (diff) | |
download | mariadb-git-305d16a7cb3955c20ab5d119b3eb0968008683b6.tar.gz |
Automatic conversion from CHAR(length) to BLOB when length > 255
New operators MOD and DIV
SELECT ... FROM DUAL
TRUE = 1 and FALSE = 0
Diffstat (limited to 'sql/sql_error.cc')
-rw-r--r-- | sql/sql_error.cc | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/sql/sql_error.cc b/sql/sql_error.cc index 3d6a0fa24aa..0740dc428f0 100644 --- a/sql/sql_error.cc +++ b/sql/sql_error.cc @@ -51,13 +51,22 @@ This file contains the implementation of error and warnings related SYNOPSIS mysql_reset_errors() thd Thread handle + + IMPLEMENTATION + Don't reset warnings if this has already been called for this query. + This may happen if one gets a warning during the parsing stage, + in which case push_warnings() has already called this function. */ void mysql_reset_errors(THD *thd) { - free_root(&thd->warn_root,MYF(0)); - bzero((char*) thd->warn_count, sizeof(thd->warn_count)); - thd->warn_list.empty(); + if (thd->query_id != thd->warn_id) + { + thd->warn_id= thd->query_id; + free_root(&thd->warn_root,MYF(0)); + bzero((char*) thd->warn_count, sizeof(thd->warn_count)); + thd->warn_list.empty(); + } } @@ -75,6 +84,9 @@ void mysql_reset_errors(THD *thd) void push_warning(THD *thd, MYSQL_ERROR::enum_warning_level level, uint code, const char *msg) { + if (thd->query_id != thd->warn_id) + mysql_reset_errors(thd); + if (thd->warn_list.elements < thd->variables.max_error_count) { /* |