mariadb/mysql-test/t/skip_log_bin.test
Andrei Elkin c0de944fdb Bug #38798 Assertion mysql_bin_log.is_open() failed in binlog_trans_log_savepos()
The assert is about binlogging must have been activated, but it was
not actually according to the reported how-to-repeat instuctions.
Analysis revealed that binlog_start_trans_and_stmt() was called
without prior testing if binlogging is ON.

Fixed with avoing entering binlog_start_trans_and_stmt() if binlog is
not activated.


mysql-test/r/skip_log_bin.result:
  new results.
mysql-test/t/skip_log_bin-master.opt:
  the option to deactivate binlogging.
mysql-test/t/skip_log_bin.test:
  regression test for the bug.
sql/sql_insert.cc:
  avoing entering binlog_start_trans_and_stmt() if binlog is not activated.
2008-08-29 17:20:08 +03:00

25 lines
645 B
Text

#
# binlog_off.test purpose is to verify that the --skip-log-bin flag
# works correctly
#
--disable_warnings
DROP TABLE IF EXISTS t1, t2;
--enable_warnings
#
# Bug #38798 Assertion mysql_bin_log.is_open() failed in
# binlog_trans_log_savepos()
# Testing that there is no crash.
# Before BUG#38798, the code for CREATE...SELECT called an internal function to
# binlog the statement, even with --skip-log-bin. This caused an assertion
# to be thrown since the binlog was not open.
set @@session.binlog_format=row;
create table t1 (a int);
insert into t1 values (1);
create table t2 select * from t1;
# clean-up
drop table t1, t2;