diff options
author | unknown <guilhem@mysql.com> | 2003-04-03 20:19:15 +0200 |
---|---|---|
committer | unknown <guilhem@mysql.com> | 2003-04-03 20:19:15 +0200 |
commit | 3db98abc4903d08ee3f693d330909e1c8a983a35 (patch) | |
tree | fd9f1a76607bd87ef9552a20cf94c57510455aac | |
parent | e7b3accb4882022e38df175007b27d53a820e8bc (diff) | |
parent | 601780aec5a9c7f6f4c32b0e755634c424a53657 (diff) | |
download | mariadb-git-3db98abc4903d08ee3f693d330909e1c8a983a35.tar.gz |
Merge gbichot@bk-internal.mysql.com:/home/bk/mysql-4.0
into mysql.com:/home/mysql_src/mysql-4.0
-rw-r--r-- | sql/log.cc | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/sql/log.cc b/sql/log.cc index 2106cd9c3db..2cb2e37be08 100644 --- a/sql/log.cc +++ b/sql/log.cc @@ -1123,9 +1123,16 @@ bool MYSQL_LOG::write(Log_event* event_info) the table handler commit here, protected by the LOCK_log mutex, because otherwise the transactions may end up in a different order in the table handler log! + + Note that we will NOT call ha_report_binlog_offset_and_commit() if + there are binlog events cached in the transaction cache. That is + because then the log event which we write to the binlog here is + not a transactional event. In versions < 4.0.13 before this fix this + caused an InnoDB transaction to be committed if in the middle there + was a MyISAM event! */ - if (file == &log_file) + if (file == &log_file && !my_b_tell(&thd->transaction.trans_log)) { /* LOAD DATA INFILE in AUTOCOMMIT=1 mode writes to the binlog |