diff options
author | Guangbao Ni <gni@mysql.com> | 2009-04-03 18:21:57 +0000 |
---|---|---|
committer | Guangbao Ni <gni@mysql.com> | 2009-04-03 18:21:57 +0000 |
commit | 173d29536dbf84278923ffdbbc28e49b7f393814 (patch) | |
tree | a4ba09dcb80d09a21c6824f95140e0b09b4584ff /sql/sql_parse.cc | |
parent | ff9803acea8e7270e1b58f8221fbcd902580e052 (diff) | |
download | mariadb-git-173d29536dbf84278923ffdbbc28e49b7f393814.tar.gz |
BUG#42640 mysqld crashes when unsafe statements are executed (STRICT_TRANS_TABLESmode)
Mysql server crashes because unsafe statements warning is wrongly elevated to error,
which is set the error status of Diagnostics_area of the thread in THD::binlog_query().
Yet the caller believes that binary logging shouldn't touch the status, so it will
set the status also later by my_ok(), my_error() or my_message() seperately
according to the execution result of the statement or transaction.
But the status of Diagnostics_area of the thread is allowed to set only once.
Fixed to clear the error wrongly set by binary logging, but keep the warning message.
mysql-test/suite/binlog/r/binlog_stm_ps.result:
Change unsafe warning to NOTE level
mysql-test/suite/binlog/r/binlog_unsafe.result:
Test case result for unsafe statements to ensure mysql sever don't crash
mysql-test/suite/binlog/t/binlog_unsafe.test:
Test case for unsafe statements to ensure mysql sever don't crash
mysql-test/suite/rpl/r/rpl_skip_error.result:
Change unsafe warning to NOTE level
mysql-test/suite/rpl/r/rpl_stm_loadfile.result:
Change unsafe warning to NOTE level
mysql-test/suite/rpl/r/rpl_udf.result:
Change unsafe warning to NOTE level
sql/sql_class.cc:
the error status of the thread is cleared When a warning is elevated to an error
because of unsafe warning of binary log.
Diffstat (limited to 'sql/sql_parse.cc')
0 files changed, 0 insertions, 0 deletions