summaryrefslogtreecommitdiff
path: root/sql/sql_parse.cc
diff options
context:
space:
mode:
authorGuangbao Ni <gni@mysql.com>2009-04-03 18:21:57 +0000
committerGuangbao Ni <gni@mysql.com>2009-04-03 18:21:57 +0000
commit173d29536dbf84278923ffdbbc28e49b7f393814 (patch)
treea4ba09dcb80d09a21c6824f95140e0b09b4584ff /sql/sql_parse.cc
parentff9803acea8e7270e1b58f8221fbcd902580e052 (diff)
downloadmariadb-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