summaryrefslogtreecommitdiff
path: root/sql/sql_error.cc
diff options
context:
space:
mode:
authorwax@kishkin.ru <>2003-03-18 04:07:40 +0500
committerwax@kishkin.ru <>2003-03-18 04:07:40 +0500
commit12f1cb55b5630eb3730f1ced55df47733a837989 (patch)
treed5655e0a1fd7bd5c629fbc934a708f44ea818663 /sql/sql_error.cc
parent0e22b88af3c260c9651f9f3b3bd4674376249d1b (diff)
downloadmariadb-git-12f1cb55b5630eb3730f1ced55df47733a837989.tar.gz
This is full commit of group_concat with support subselects
Diffstat (limited to 'sql/sql_error.cc')
-rw-r--r--sql/sql_error.cc12
1 files changed, 9 insertions, 3 deletions
diff --git a/sql/sql_error.cc b/sql/sql_error.cc
index 5508be5167a..9f28d33bc50 100644
--- a/sql/sql_error.cc
+++ b/sql/sql_error.cc
@@ -79,14 +79,19 @@ void mysql_reset_errors(THD *thd)
level Severity of warning (note, warning, error ...)
code Error number
msg Clear error message
+
+ RETURN
+ pointer on MYSQL_ERROR object
*/
-void push_warning(THD *thd, MYSQL_ERROR::enum_warning_level level, uint code,
- const char *msg)
+MYSQL_ERROR *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);
+ MYSQL_ERROR *err = NULL;
+
if (thd->warn_list.elements < thd->variables.max_error_count)
{
/*
@@ -95,13 +100,14 @@ void push_warning(THD *thd, MYSQL_ERROR::enum_warning_level level, uint code,
*/
MEM_ROOT *old_root=my_pthread_getspecific_ptr(MEM_ROOT*,THR_MALLOC);
my_pthread_setspecific_ptr(THR_MALLOC, &thd->warn_root);
- MYSQL_ERROR *err= new MYSQL_ERROR(code, level, msg);
+ err = new MYSQL_ERROR(code, level, msg);
if (err)
thd->warn_list.push_back(err);
my_pthread_setspecific_ptr(THR_MALLOC, old_root);
}
thd->warn_count[(uint) level]++;
thd->total_warn_count++;
+ return err;
}
/*