List:Commits« Previous MessageNext Message »
From:Andrei Elkin Date:September 14 2006 7:21pm
Subject:bk commit into 5.1 tree (aelkin:1.2323) BUG#22067
View as plain text  
Below is the list of changes that have just been committed into a local
5.1 repository of elkin. When elkin 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@stripped, 2006-09-14 22:21:35+03:00, aelkin@stripped +8 -0
  BUG#22067 rpl_rbr_to_sbr and some other fail if NDB is default storage
  
  A query SET @@GLOBAL.binlog_format = ... returns an error when NDB is the default
  storage. This fails some tests invoking the set binlog_format explicitly.
  
  In the following are files and method to fix, mostly denying ndb. For these specific
  tests it is right thing to do because switching between binlog format is not supported
  by ndb, and truncate feature is checked by dedicated tests.
  
  t/
  ndb_binlog_basic2.test         # here the failure is benign
  rpl_rbr_to_sbr.test            # does not check any ndb features =>             
  .                              # => not_ndb_default is enough
  rpl_row_basic_8partition.test  # set binlog_format can be replaced
  rpl_switch_stm_row_mixed.test  # does not check any ndb features =>
  .                              # => not_ndb_default is enough
  
  two more invoking invoke extra/rpl_truncate_helper.test
  
  rpl_truncate_2myisam           # to be fixed with not_ndb_default
  rpl_truncate_3innodb           # same as above
  .                              # because there is a dedicated to ndb .          
  .                              # rpl_truncate_7ndb* tests.

  mysql-test/include/safe_set_to_maybe_ro_var.inc@stripped, 2006-09-14 22:21:32+03:00, aelkin@stripped +23 -0
    pseudo-macro to make read-only global/session vars "settable" in sense that
    SET var= val won't produce any error nor aborts testing.
    

  mysql-test/include/safe_set_to_maybe_ro_var.inc@stripped, 2006-09-14 22:21:32+03:00, aelkin@stripped +0 -0

  mysql-test/r/rpl_row_basic_8partition.result@stripped, 2006-09-14 22:21:32+03:00, aelkin@stripped +0 -1
    new results

  mysql-test/t/rpl_rbr_to_sbr.test@stripped, 2006-09-14 22:21:32+03:00, aelkin@stripped +1 -0
    # does not check any ndb features => not_ndb_default is enough

  mysql-test/t/rpl_row_basic_8partition.test@stripped, 2006-09-14 22:21:32+03:00, aelkin@stripped +12 -1
    set binlog_format can be to a read-only version e.g when default storage ndb.
    adapting/testing a new implement
    --source include/safe_set_to_maybe_ro_var.inc
    to avoid abort due to the error.
    
    Note, that it this particular test we could simply remove SET binlog_format because
    there is have_binlog_format_row require, as the test is about RBR.

  mysql-test/t/rpl_switch_stm_row_mixed.test@stripped, 2006-09-14 22:21:32+03:00, aelkin@stripped +1 -0
    does not check any ndb features => not_ndb_default is enough

  mysql-test/t/rpl_truncate_2myisam.test@stripped, 2006-09-14 22:21:32+03:00, aelkin@stripped +1 -1
    not_ndb_default require is enough since there is a specific same feature testing
    suit for ndb.

  mysql-test/t/rpl_truncate_3innodb.test@stripped, 2006-09-14 22:21:32+03:00, aelkin@stripped +1 -0
    not_ndb_default is enough since there is another suit for ndb.

  mysql-test/t/rpl_truncate_4ndb-master.opt@stripped, 2006-09-14 22:21:32+03:00, aelkin@stripped +1 -0
    New BitKeeper file ``mysql-test/t/rpl_truncate_4ndb-master.opt''

  mysql-test/t/rpl_truncate_4ndb-master.opt@stripped, 2006-09-14 22:21:32+03:00, aelkin@stripped +0 -0

# 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:	aelkin
# Host:	dsl-hkigw8-fe00f800-98.dhcp.inet.fi
# Root:	/home/elkin/MySQL/TEAM/FIXES/5.1/bug22067_set_blogformat_ndb
--- New file ---
+++ mysql-test/include/safe_set_to_maybe_ro_var.inc	06/09/14 22:21:32
# to mask out the error - never abort neither log in result file - in setting 
# to read-only variable.
# It is assumed that the new value is equal to one the var was set to.
# Such situation happens particularily with binlog_format that becomes read-only
# with ndb default storage.
#
# when generate results always watch the file to find what is expected,
# the SET query may fail

# script accepts $maybe_ro_var the var name and $val4var the value

### USAGE:
### let $maybe_ro_var= ...
### let $val4var= ...
### include/safe_set_to_maybe_ro_var.inc

--disable_result_log
--disable_abort_on_error
eval SET $maybe_ro_var = $val4var;
--enable_abort_on_error
--enable_result_log

eval SELECT $maybe_ro_var;

--- New file ---
+++ mysql-test/t/rpl_truncate_4ndb-master.opt	06/09/14 22:21:32
--default-storage-engine=ndb


--- 1.11/mysql-test/t/rpl_switch_stm_row_mixed.test	2006-09-14 22:21:42 +03:00
+++ 1.12/mysql-test/t/rpl_switch_stm_row_mixed.test	2006-09-14 22:21:42 +03:00
@@ -1,4 +1,5 @@
 -- source include/have_row_based.inc
+-- source include/not_ndb_default.inc
 -- source include/master-slave.inc
 
 connection master;

--- 1.3/mysql-test/r/rpl_row_basic_8partition.result	2006-09-14 22:21:42 +03:00
+++ 1.4/mysql-test/r/rpl_row_basic_8partition.result	2006-09-14 22:21:42 +03:00
@@ -5,7 +5,6 @@ reset slave;
 drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
 start slave;
 DROP TABLE IF EXISTS t1;
-SET BINLOG_FORMAT=ROW;
 **** Partition RANGE testing ****
 CREATE TABLE t1 (id MEDIUMINT NOT NULL, b1 BIT(8), vc VARCHAR(255), 
 bc CHAR(255), d DECIMAL(10,4) DEFAULT 0, 

--- 1.4/mysql-test/t/rpl_rbr_to_sbr.test	2006-09-14 22:21:42 +03:00
+++ 1.5/mysql-test/t/rpl_rbr_to_sbr.test	2006-09-14 22:21:42 +03:00
@@ -1,5 +1,6 @@
 -- source include/have_row_based.inc
 -- source include/have_binlog_format_mixed_or_statement.inc
+-- source include/not_ndb_default.inc
 -- source include/master-slave.inc
 
 # Test that the slave temporarily switches to ROW when seeing binrow

--- 1.4/mysql-test/t/rpl_row_basic_8partition.test	2006-09-14 22:21:42 +03:00
+++ 1.5/mysql-test/t/rpl_row_basic_8partition.test	2006-09-14 22:21:42 +03:00
@@ -8,12 +8,23 @@
 ############################################################
 
 --source include/have_row_based.inc
+--source include/have_binlog_format_row.inc
 --source include/have_partition.inc
 --source include/master-slave.inc
 connection master;
 --disable_warnings
 DROP TABLE IF EXISTS t1;
-SET BINLOG_FORMAT=ROW;
+
+let $maybe_ro_var = @@BINLOG_FORMAT;
+let $val4var = ROW;
+--disable_result_log
+--disable_abort_on_error
+eval SET $maybe_ro_var = $val4var;
+--enable_abort_on_error
+--enable_result_log
+
+eval SELECT $maybe_ro_var;
+##--source include/safe_set_to_maybe_ro_var.inc
 
 --echo **** Partition RANGE testing ****
 

--- 1.1/mysql-test/t/rpl_truncate_2myisam.test	2006-09-14 22:21:42 +03:00
+++ 1.2/mysql-test/t/rpl_truncate_2myisam.test	2006-09-14 22:21:42 +03:00
@@ -1,4 +1,4 @@
-
+--source include/not_ndb_default.inc
 let $engine=MyISAM;
 --source extra/rpl_tests/rpl_truncate.test
 

--- 1.1/mysql-test/t/rpl_truncate_3innodb.test	2006-09-14 22:21:42 +03:00
+++ 1.2/mysql-test/t/rpl_truncate_3innodb.test	2006-09-14 22:21:42 +03:00
@@ -1,5 +1,6 @@
 
 --source include/have_innodb.inc
+--source include/not_ndb_default.inc
 
 let $engine=InnoDB;
 --source extra/rpl_tests/rpl_truncate.test
Thread
bk commit into 5.1 tree (aelkin:1.2323) BUG#22067Andrei Elkin14 Sep