From b0b0000d4069d055cdbe9c5c7f2fd59eb31cc529 Mon Sep 17 00:00:00 2001
From: Sven Sandberg <sven.sandberg@sun.com>
Date: Wed, 12 May 2010 12:29:02 +0200
Subject: [PATCH] BUG#50410: rpl_ndb tests should run with binlog_format=row
 Problem: The rpl_ndb did not set binlog_format explicitly. Since the default
 is binlog_format=statement, it means that the suite ran with that. ndb does
 not support binlog_format=statement, and many tests were skipped because they
 sourced include/have_binlog_format_row_or_mixed.inc Fix: set
 binlog_format=row explicitly in the configuration file for the rpl_ndb suite.

---
 Makefile.am                                          | 4 ++--
 mysql-test/suite/rpl_ndb/my.cnf                      | 4 ++++
 mysql-test/suite/rpl_ndb/r/rpl_ndb_stm_innodb.result | 1 +
 mysql-test/suite/rpl_ndb/t/rpl_ndb_stm_innodb.test   | 4 +++-
 4 files changed, 10 insertions(+), 3 deletions(-)

diff --git a/Makefile.am b/Makefile.am
index 821f7e4fd0f..7953b81fb7b 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -147,8 +147,8 @@ test-bt:
 	-if [ -e bin/ndbd -o -e storage/ndb/src/kernel/ndbd ] ; then \
 	  cd mysql-test ; \
 	    MTR_BUILD_THREAD=auto \
-	      @PERL@ ./mysql-test-run.pl --comment=ndb+rpl_ndb+ps --force --timer \
-	          --ps-protocol --mysqld=--binlog-format=row --suite=ndb,rpl_ndb ; \
+	      @PERL@ ./mysql-test-run.pl --comment=ndb+ps --force --timer \
+	          --ps-protocol --mysqld=--binlog-format=row --suite=ndb ; \
 	    MTR_BUILD_THREAD=auto \
 	      @PERL@ ./mysql-test-run.pl --comment=ndb --force --timer \
 	          --with-ndbcluster-only ; \
diff --git a/mysql-test/suite/rpl_ndb/my.cnf b/mysql-test/suite/rpl_ndb/my.cnf
index 58fec36eedd..426608fc7fa 100644
--- a/mysql-test/suite/rpl_ndb/my.cnf
+++ b/mysql-test/suite/rpl_ndb/my.cnf
@@ -18,6 +18,8 @@ mysqld=
 ndbcluster
 # Turn on bin logging
 log-bin=                       master-bin
+# Cluster only supports row format
+binlog-format=                 row
 
 [mysqld.1.1]
 
@@ -41,6 +43,8 @@ master-connect-retry=         1
 
 log-bin=                      slave-bin
 relay-log=                    slave-relay-bin
+# Cluster only supports row format
+binlog-format=                 row
 
 init-rpl-role=                slave
 log-slave-updates
diff --git a/mysql-test/suite/rpl_ndb/r/rpl_ndb_stm_innodb.result b/mysql-test/suite/rpl_ndb/r/rpl_ndb_stm_innodb.result
index 675a69d17a4..5327bfde7e0 100644
--- a/mysql-test/suite/rpl_ndb/r/rpl_ndb_stm_innodb.result
+++ b/mysql-test/suite/rpl_ndb/r/rpl_ndb_stm_innodb.result
@@ -4,6 +4,7 @@ reset master;
 reset slave;
 drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
 start slave;
+SET binlog_format = STATEMENT;
 
 *** Test 1 ***
 
diff --git a/mysql-test/suite/rpl_ndb/t/rpl_ndb_stm_innodb.test b/mysql-test/suite/rpl_ndb/t/rpl_ndb_stm_innodb.test
index bf7f1eed7b2..7c65e04717a 100644
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_stm_innodb.test
+++ b/mysql-test/suite/rpl_ndb/t/rpl_ndb_stm_innodb.test
@@ -27,9 +27,11 @@
 --disable_query_log
 --source include/have_ndb.inc
 --source include/have_innodb.inc
---source include/have_binlog_format_statement.inc
 --source include/ndb_master-slave.inc
 --enable_query_log
+
+# statement format is supported because master uses innodb
+SET binlog_format = STATEMENT;
 let $off_set = 6;
 let $rpl_format = 'SBR';
 --source extra/rpl_tests/rpl_ndb_apply_status.test
-- 
2.30.9