List:Commits« Previous MessageNext Message »
From:Andrei Elkin Date:September 15 2006 4:25pm
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-15 17:25:13+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.
  because the var turns to be read-only.
    
    In the following are files and method to fix if needed.
    
    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* suit.
  
  Adapting/testing a new implement
  --source include/safe_set_to_maybe_ro_var.inc
  to avoid abort due to the error using binlog_format as application.

  BitKeeper/etc/ignore@stripped, 2006-09-15 17:25:09+03:00,
aelkin@stripped +1 -0
    Added mysql-test/t/rpl_truncate_4ndb.test to the ignore list

  mysql-test/include/safe_set_to_maybe_ro_var.inc@stripped, 2006-09-15 17:25:10+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-15 17:25:10+03:00,
aelkin@stripped +0 -0

  mysql-test/r/rpl_row_basic_8partition.result@stripped, 2006-09-15 17:25:09+03:00,
aelkin@stripped +4 -1
    new results

  mysql-test/t/rpl_rbr_to_sbr.test@stripped, 2006-09-15 17:25:10+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-15 17:25:10+03:00,
aelkin@stripped +6 -1
    set binlog_format can be read-only because of e.g 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.
    Futhermore utilizing safe_set_to_maybe_ro_var is redundat as well as long as
    we keep non_ndb_default guard.
    The latter is introduced because of ndb partitioning per-key limitation 
    #19259: rpl_ndb_dd_partitions fails on solaris. The page is updated to refer to this
    test's.
     

  mysql-test/t/rpl_switch_stm_row_mixed.test@stripped, 2006-09-15 17:25:10+03:00,
aelkin@stripped +1 -0
    excluding ndb option, no ndb features 

  mysql-test/t/rpl_truncate_2myisam.test@stripped, 2006-09-15 17:25:10+03:00,
aelkin@stripped +1 -1
    ndb checks truncate separately

  mysql-test/t/rpl_truncate_3innodb.test@stripped, 2006-09-15 17:25:10+03:00,
aelkin@stripped +1 -0
    ndb checks truncate separately

# 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/15 17:25:10
# 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;


--- 1.11/mysql-test/t/rpl_switch_stm_row_mixed.test	2006-09-15 17:25:24 +03:00
+++ 1.12/mysql-test/t/rpl_switch_stm_row_mixed.test	2006-09-15 17:25:24 +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-15 17:25:24 +03:00
+++ 1.4/mysql-test/r/rpl_row_basic_8partition.result	2006-09-15 17:25:24 +03:00
@@ -5,7 +5,10 @@ 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;
+SET @@BINLOG_FORMAT = ROW;
+SELECT @@BINLOG_FORMAT;
+@@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-15 17:25:24 +03:00
+++ 1.5/mysql-test/t/rpl_rbr_to_sbr.test	2006-09-15 17:25:24 +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-15 17:25:24 +03:00
+++ 1.5/mysql-test/t/rpl_row_basic_8partition.test	2006-09-15 17:25:24 +03:00
@@ -8,12 +8,17 @@
 ############################################################
 
 --source include/have_row_based.inc
+--source include/have_binlog_format_row.inc
 --source include/have_partition.inc
+--source include/not_ndb_default.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;
+--source include/safe_set_to_maybe_ro_var.inc
 
 --echo **** Partition RANGE testing ****
 

--- 1.1/mysql-test/t/rpl_truncate_2myisam.test	2006-09-15 17:25:24 +03:00
+++ 1.2/mysql-test/t/rpl_truncate_2myisam.test	2006-09-15 17:25:24 +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-15 17:25:24 +03:00
+++ 1.2/mysql-test/t/rpl_truncate_3innodb.test	2006-09-15 17:25:24 +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

--- 1.253/BitKeeper/etc/ignore	2006-09-15 17:25:24 +03:00
+++ 1.254/BitKeeper/etc/ignore	2006-09-15 17:25:24 +03:00
@@ -1791,3 +1791,4 @@ vio/viotest-sslconnect.cpp
 vio/viotest.cpp
 zlib/*.ds?
 zlib/*.vcproj
+mysql-test/t/rpl_truncate_4ndb.test
Thread
bk commit into 5.1 tree (aelkin:1.2323) BUG#22067Andrei Elkin15 Sep