diff options
author | Sergey Petrunia <sergefp@mysql.com> | 2008-08-19 17:15:29 +0400 |
---|---|---|
committer | Sergey Petrunia <sergefp@mysql.com> | 2008-08-19 17:15:29 +0400 |
commit | 0a6c95ce07ab14bcf230fe13cd4a8b530673dff6 (patch) | |
tree | 725e895914039b4d2c86809813844e09e51fe919 /sql/sql_class.cc | |
parent | 5ec6659e1e8bc49dd520ad47317243fbe32d5456 (diff) | |
download | mariadb-git-0a6c95ce07ab14bcf230fe13cd4a8b530673dff6.tar.gz |
BUG#36135: void Diagnostics_area::set_eof_status(THD*): Assertion `! is_set()' failed.
- Before sending EOF, check if we've already sent an error.
mysql-test/r/subselect3.result:
BUG#36135: void Diagnostics_area::set_eof_status(THD*): Assertion `! is_set()' failed.
- Testcase
mysql-test/t/subselect3.test:
BUG#36135: void Diagnostics_area::set_eof_status(THD*): Assertion `! is_set()' failed.
- Testcase
sql/sql_class.cc:
BUG#36135: void Diagnostics_area::set_eof_status(THD*): Assertion `! is_set()' failed.
- Before sending EOF, check if we've already sent an error.
Diffstat (limited to 'sql/sql_class.cc')
-rw-r--r-- | sql/sql_class.cc | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/sql/sql_class.cc b/sql/sql_class.cc index 691b176e59d..186d6518676 100644 --- a/sql/sql_class.cc +++ b/sql/sql_class.cc @@ -1580,6 +1580,12 @@ bool select_send::send_eof() mysql_unlock_tables(thd, thd->lock); thd->lock=0; } + /* + 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_eof(thd); is_result_set_started= 0; return FALSE; |