From 2b0f4bdf44904c5211f879edd477f0b3b80df0ef Mon Sep 17 00:00:00 2001 From: unknown Date: Mon, 21 Jan 2013 10:06:03 +0100 Subject: [PATCH] Fix uninitialised variable in binlog group commit (probably not reachable code). Fix test failure when $vardir does not allow executing programs. --- mysql-test/include/have_dbi_dbd-mysql.inc | 4 +--- sql/log.cc | 6 ++++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/mysql-test/include/have_dbi_dbd-mysql.inc b/mysql-test/include/have_dbi_dbd-mysql.inc index 212e36ac353..7c2113a8109 100644 --- a/mysql-test/include/have_dbi_dbd-mysql.inc +++ b/mysql-test/include/have_dbi_dbd-mysql.inc @@ -58,9 +58,7 @@ --let $perlChecker= $MYSQLTEST_VARDIR/std_data/checkDBI_DBD-mysql.pl --let $resultFile= $MYSQL_TMP_DIR/dbidbd-mysql.txt -# Make the script executable and execute it. ---chmod 0755 $perlChecker ---exec $perlChecker +--exec perl $perlChecker # Source the resulting temporary file and look for a variable being set. --source $resultFile diff --git a/sql/log.cc b/sql/log.cc index a96dfbbf461..1ffceaf05a3 100644 --- a/sql/log.cc +++ b/sql/log.cc @@ -6379,8 +6379,6 @@ MYSQL_BIN_LOG::trx_group_commit_leader(group_commit_entry *leader) DBUG_ENTER("MYSQL_BIN_LOG::trx_group_commit_leader"); LINT_INIT(binlog_id); - DBUG_ASSERT(is_open()); - if (likely(is_open())) // Should always be true { /* Lock the LOCK_log(), and once we get it, collect any additional writes @@ -6407,7 +6405,11 @@ MYSQL_BIN_LOG::trx_group_commit_leader(group_commit_entry *leader) DBUG_ASSERT(leader == queue /* the leader should be first in queue */); /* Now we have in queue the list of transactions to be committed in order. */ + } + DBUG_ASSERT(is_open()); + if (likely(is_open())) // Should always be true + { /* Commit every transaction in the queue.