From: Date: February 7 2006 7:02pm Subject: bk commit into 5.1 tree (tomas:1.2081) BUG#17188 List-Archive: http://lists.mysql.com/commits/2253 X-Bug: 17188 Message-Id: <20060207180249.301F5817C6@poseidon.mysql.com> Below is the list of changes that have just been committed into a local 5.1 repository of tomas. When tomas does a push these changes will be propagated to the main repository and, within 24 hours after the push, to the public repository. For information on how to access the public repository see http://dev.mysql.com/doc/mysql/en/installing-source-tree.html ChangeSet 1.2081 06/02/07 19:02:38 tomas@stripped +6 -0 Bug #17188 CRBR: ignores --binlog_ignore_db= settings mysql-test/t/ndb_binlog_ignore_db.test 1.1 06/02/07 19:02:31 tomas@stripped +19 -0 New BitKeeper file ``mysql-test/t/ndb_binlog_ignore_db.test'' mysql-test/t/ndb_binlog_ignore_db-master.opt 1.1 06/02/07 19:02:31 tomas@stripped +1 -0 New BitKeeper file ``mysql-test/t/ndb_binlog_ignore_db-master.opt'' mysql-test/r/ndb_binlog_ignore_db.result 1.1 06/02/07 19:02:31 tomas@stripped +10 -0 New BitKeeper file ``mysql-test/r/ndb_binlog_ignore_db.result'' sql/ha_ndbcluster_binlog.cc 1.15 06/02/07 19:02:31 tomas@stripped +7 -0 Bug #17188 CRBR: ignores --binlog_ignore_db= settings mysql-test/t/ndb_binlog_ignore_db.test 1.0 06/02/07 19:02:31 tomas@stripped +0 -0 BitKeeper file /home/tomas/mysql-5.1-new/mysql-test/t/ndb_binlog_ignore_db.test mysql-test/t/ndb_binlog_ignore_db-master.opt 1.0 06/02/07 19:02:31 tomas@stripped +0 -0 BitKeeper file /home/tomas/mysql-5.1-new/mysql-test/t/ndb_binlog_ignore_db-master.opt mysql-test/t/ndb_binlog_ddl_multi.test 1.5 06/02/07 19:02:31 tomas@stripped +6 -0 Bug #17188 CRBR: ignores --binlog_ignore_db= settings mysql-test/r/ndb_binlog_ignore_db.result 1.0 06/02/07 19:02:31 tomas@stripped +0 -0 BitKeeper file /home/tomas/mysql-5.1-new/mysql-test/r/ndb_binlog_ignore_db.result mysql-test/r/ndb_binlog_ddl_multi.result 1.5 06/02/07 19:02:30 tomas@stripped +6 -6 Bug #17188 CRBR: ignores --binlog_ignore_db= settings # This is a BitKeeper patch. What follows are the unified diffs for the # set of deltas contained in the patch. The rest of the patch, the part # that BitKeeper cares about, is below these diffs. # User: tomas # Host: poseidon.ndb.mysql.com # Root: /home/tomas/mysql-5.1-new --- 1.4/mysql-test/r/ndb_binlog_ddl_multi.result 2006-02-01 12:30:30 +01:00 +++ 1.5/mysql-test/r/ndb_binlog_ddl_multi.result 2006-02-07 19:02:30 +01:00 @@ -8,12 +8,12 @@ use mysqltest; create table t1 (a int primary key) engine=ndb; create table t2 (a int primary key) engine=ndb; -show binlog events from 102; +show binlog events from ; Log_name Pos Event_type Server_id End_log_pos Info master-bin1.000001 # Query # # create database mysqltest master-bin1.000001 # Query # # use `mysqltest`; create table t1 (a int primary key) engine=ndb master-bin1.000001 # Query # # use `test`; create table t2 (a int primary key) engine=ndb -show binlog events from 102; +show binlog events from ; Log_name Pos Event_type Server_id End_log_pos Info master-bin.000001 # Query # # create database mysqltest master-bin.000001 # Query # # use `mysqltest`; create table t1 (a int primary key) engine=ndb @@ -21,7 +21,7 @@ reset master; reset master; alter table t2 add column (b int); -show binlog events from 102; +show binlog events from ; Log_name Pos Event_type Server_id End_log_pos Info master-bin1.000001 # Query # # BEGIN master-bin1.000001 # Table_map # # cluster_replication.apply_status @@ -32,7 +32,7 @@ reset master; ALTER DATABASE mysqltest CHARACTER SET latin1; drop table mysqltest.t1; -show binlog events from 102; +show binlog events from ; Log_name Pos Event_type Server_id End_log_pos Info master-bin.000001 # Query # # ALTER DATABASE mysqltest CHARACTER SET latin1 master-bin.000001 # Query # # BEGIN @@ -46,7 +46,7 @@ insert into t2 values (1,2); drop database mysqltest; create table t1 (a int primary key) engine=ndb; -show binlog events from 102; +show binlog events from ; Log_name Pos Event_type Server_id End_log_pos Info master-bin1.000001 # Query # # BEGIN master-bin1.000001 # Table_map # # cluster_replication.apply_status @@ -88,7 +88,7 @@ DROP LOGFILE GROUP lg1 ENGINE =NDB; drop table t1; -show binlog events from 102; +show binlog events from ; Log_name Pos Event_type Server_id End_log_pos Info master-bin1.000001 # Query # # CREATE LOGFILE GROUP lg1 ADD UNDOFILE 'undofile.dat' --- New file --- +++ mysql-test/r/ndb_binlog_ignore_db.result 06/02/07 19:02:31 drop table if exists t1; drop database if exists mysqltest; create database mysqltest; use mysqltest; create table t1 (a int primary key, b int) engine=ndb; insert into t1 values (1, 1); show binlog events from ; Log_name Pos Event_type Server_id End_log_pos Info master-bin.000001 # Query # # use `test`; drop table if exists t1 drop database mysqltest; --- 1.4/mysql-test/t/ndb_binlog_ddl_multi.test 2006-02-01 12:30:30 +01:00 +++ 1.5/mysql-test/t/ndb_binlog_ddl_multi.test 2006-02-07 19:02:31 +01:00 @@ -33,10 +33,12 @@ --connection server2 create table t2 (a int primary key) engine=ndb; +--replace_result $binlog_start --replace_column 2 # 4 # 5 # --eval show binlog events from $binlog_start --connection server1 +--replace_result $binlog_start --replace_column 2 # 4 # 5 # --eval show binlog events from $binlog_start @@ -51,6 +53,7 @@ alter table t2 add column (b int); --connections server1 +--replace_result $binlog_start --replace_column 2 # 4 # 5 # --eval show binlog events from $binlog_start @@ -70,6 +73,7 @@ drop table mysqltest.t1; --connection server1 +--replace_result $binlog_start --replace_column 2 # 4 # 5 # --eval show binlog events from $binlog_start @@ -87,6 +91,7 @@ create table t1 (a int primary key) engine=ndb; --connection server2 +--replace_result $binlog_start --replace_column 2 # 4 # 5 # --eval show binlog events from $binlog_start @@ -139,5 +144,6 @@ drop table t1; --connection server2 +--replace_result $binlog_start --replace_column 2 # 4 # 5 # --eval show binlog events from $binlog_start --- New file --- +++ mysql-test/t/ndb_binlog_ignore_db-master.opt 06/02/07 19:02:31 --binlog-ignore-db=mysqltest --- New file --- +++ mysql-test/t/ndb_binlog_ignore_db.test 06/02/07 19:02:31 -- source include/have_ndb.inc -- source include/have_binlog_format_row.inc --let $binlog_start=102 --disable_warnings drop table if exists t1; drop database if exists mysqltest; --enable_warnings create database mysqltest; use mysqltest; create table t1 (a int primary key, b int) engine=ndb; insert into t1 values (1, 1); --replace_result $binlog_start --replace_column 2 # 4 # 5 # --eval show binlog events from $binlog_start drop database mysqltest; --- 1.14/sql/ha_ndbcluster_binlog.cc 2006-02-06 11:48:37 +01:00 +++ 1.15/sql/ha_ndbcluster_binlog.cc 2006-02-07 19:02:31 +01:00 @@ -20,6 +20,7 @@ #ifdef HAVE_NDB_BINLOG #include "rpl_injector.h" +#include "rpl_filter.h" #include "slave.h" #include "ha_ndbcluster_binlog.h" @@ -2016,6 +2017,12 @@ if (share->flags & NSF_NO_BINLOG) { DBUG_PRINT("info", ("share->flags & NSF_NO_BINLOG, flags: %x", share->flags)); + DBUG_RETURN(0); + } + + if (!binlog_filter->db_ok(share->db)) + { + share->flags|= NSF_NO_BINLOG; DBUG_RETURN(0); }