From 8485c574d988bc78f6c14ad97d084cc13e5c799f Mon Sep 17 00:00:00 2001 From: "holyfoot@deer.(none)" <> Date: Wed, 24 May 2006 13:28:24 +0500 Subject: [PATCH] bug #19650 (Embedded crashes in 5.1.10) --- mysql-test/extra/binlog_tests/innodb_stat.test | 2 ++ sql/log.cc | 6 ++---- sql/sql_insert.cc | 2 ++ 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/mysql-test/extra/binlog_tests/innodb_stat.test b/mysql-test/extra/binlog_tests/innodb_stat.test index 131c244d8fd..4638dfcd2f7 100644 --- a/mysql-test/extra/binlog_tests/innodb_stat.test +++ b/mysql-test/extra/binlog_tests/innodb_stat.test @@ -1,3 +1,5 @@ +# Embedded server doesn't support binlog +-- source include/not_embedded.inc -- source include/have_innodb.inc # diff --git a/sql/log.cc b/sql/log.cc index 31133a71757..14645141bc5 100644 --- a/sql/log.cc +++ b/sql/log.cc @@ -2877,7 +2877,7 @@ bool MYSQL_LOG::write(Log_event *event_info) } #endif /* HAVE_REPLICATION */ -#ifdef USING_TRANSACTIONS +#if defined(USING_TRANSACTIONS) && defined(HAVE_ROW_BASED_REPLICATION) /* Should we write to the binlog cache or to the binlog on disk? Write to the binlog cache if: @@ -2889,10 +2889,8 @@ bool MYSQL_LOG::write(Log_event *event_info) */ if (opt_using_transactions && thd) { -#ifdef HAVE_ROW_BASED_REPLICATION if (thd->binlog_setup_trx_data()) goto err; -#endif /*HAVE_ROW_BASED_REPLICATION*/ binlog_trx_data *const trx_data= (binlog_trx_data*) thd->ha_data[binlog_hton.slot]; @@ -2916,7 +2914,7 @@ bool MYSQL_LOG::write(Log_event *event_info) LOCK_log. */ } -#endif +#endif /* USING_TRANSACTIONS && HAVE_ROW_BASED_REPLICATION */ DBUG_PRINT("info",("event type: %d",event_info->get_type_code())); /* diff --git a/sql/sql_insert.cc b/sql/sql_insert.cc index 84760e93d8e..6880769285a 100644 --- a/sql/sql_insert.cc +++ b/sql/sql_insert.cc @@ -2759,7 +2759,9 @@ select_create::binlog_show_create_table(TABLE **tables, uint count) on rollback, we clear the OPTION_STATUS_NO_TRANS_UPDATE bit of thd->options. */ +#ifdef HAVE_ROW_BASED_REPLICATION DBUG_ASSERT(thd->current_stmt_binlog_row_based); +#endif DBUG_ASSERT(tables && *tables && count > 0); thd->options&= ~OPTION_STATUS_NO_TRANS_UPDATE;