summaryrefslogtreecommitdiff
path: root/sql/mysqld.cc
diff options
context:
space:
mode:
authorunknown <guilhem@mysql.com>2004-09-24 11:54:37 +0200
committerunknown <guilhem@mysql.com>2004-09-24 11:54:37 +0200
commitc868213373782dc172a6d279d4d3d8ef45cdbc57 (patch)
tree1904cbaab17eae6aa0f58174837482dfc20ee104 /sql/mysqld.cc
parent9860a95a3f4e7317890b6905f9539eadadc56206 (diff)
downloadmariadb-git-c868213373782dc172a6d279d4d3d8ef45cdbc57.tar.gz
Fix for BUG#3248 "Doc says MyISAM warns if disk full but it does not":
we force the message to the error log, and we make it more informative; we treat EDQUOT like ENOSPC. mysys/errors.c: more informative message mysys/my_fstream.c: Treat EDQUOT like ENOSPC. mysys/my_pread.c: Treat EDQUOT like ENOSPC. mysys/my_write.c: Treat EDQUOT like ENOSPC. mysys/mysys_priv.h: Define EDQUOT when it does not exist. Finally decided to put it here after discussion with Monty: as this constant is used only in 3 files only in mysys/, I don't make it visible everywhere (there currently is no file of choice for such defines; my_base.h does not contain any). Using a value which never happens avoids collisions. sql/mysqld.cc: If ME_NOREFRESH, we write message to error log, even if it has been saved for client (because if operation is hanging, the message does not get to client now; example is MyISAM waiting for free disk space).
Diffstat (limited to 'sql/mysqld.cc')
-rw-r--r--sql/mysqld.cc5
1 files changed, 2 insertions, 3 deletions
diff --git a/sql/mysqld.cc b/sql/mysqld.cc
index 06599cf0ea7..834cff0d869 100644
--- a/sql/mysqld.cc
+++ b/sql/mysqld.cc
@@ -2080,8 +2080,7 @@ static void check_data_home(const char *path)
/* ARGSUSED */
-extern "C" int my_message_sql(uint error, const char *str,
- myf MyFlags __attribute__((unused)))
+extern "C" int my_message_sql(uint error, const char *str, myf MyFlags)
{
NET *net;
DBUG_ENTER("my_message_sql");
@@ -2094,7 +2093,7 @@ extern "C" int my_message_sql(uint error, const char *str,
net->last_errno=error ? error : ER_UNKNOWN_ERROR;
}
}
- else
+ if (!net || MyFlags & ME_NOREFRESH)
sql_print_error("%s: %s",my_progname,str); /* purecov: inspected */
DBUG_RETURN(0);
}