diff options
author | Jon Olav Hauglid <jon.hauglid@oracle.com> | 2010-11-16 10:05:19 +0100 |
---|---|---|
committer | Jon Olav Hauglid <jon.hauglid@oracle.com> | 2010-11-16 10:05:19 +0100 |
commit | 0caa22b145db22b718434566720fb7dea715692c (patch) | |
tree | 7bb909d13afe24120327ea8c3d6aedfc42610685 /sql/sql_class.cc | |
parent | a3d9a26d3b9ada36d7c57815614027c9fa798002 (diff) | |
parent | d6d16303cd5e2ba623f51a115f12954fe4a0ce2c (diff) | |
download | mariadb-git-0caa22b145db22b718434566720fb7dea715692c.tar.gz |
Merge from mysql-5.5-bugteam to mysql-5.5-runtime
No conflicts
Diffstat (limited to 'sql/sql_class.cc')
-rw-r--r-- | sql/sql_class.cc | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/sql/sql_class.cc b/sql/sql_class.cc index 1823a0416ff..02edcbeb1a2 100644 --- a/sql/sql_class.cc +++ b/sql/sql_class.cc @@ -1881,8 +1881,9 @@ void select_to_file::send_error(uint errcode,const char *err) bool select_to_file::send_eof() { int error= test(end_io_cache(&cache)); - if (mysql_file_close(file, MYF(MY_WME))) - error= 1; + if (mysql_file_close(file, MYF(MY_WME)) || thd->is_error()) + error= true; + if (!error) { ::my_ok(thd,row_count); @@ -2923,6 +2924,13 @@ bool select_dumpvar::send_eof() if (! row_count) push_warning(thd, MYSQL_ERROR::WARN_LEVEL_WARN, ER_SP_FETCH_NO_DATA, ER(ER_SP_FETCH_NO_DATA)); + /* + Don't send EOF if we're in error condition (which implies we've already + sent or are sending an error) + */ + if (thd->is_error()) + return true; + ::my_ok(thd,row_count); return 0; } |