mirror of
https://github.com/MariaDB/server.git
synced 2025-08-07 00:04:31 +03:00
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.
This commit is contained in:

parent
9a87889482
commit
6055e8a9f7
@@ -1791,3 +1791,4 @@ vio/viotest-sslconnect.cpp
|
||||
vio/viotest.cpp
|
||||
zlib/*.ds?
|
||||
zlib/*.vcproj
|
||||
mysql-test/t/rpl_truncate_4ndb.test
|
||||
|
23
mysql-test/include/safe_set_to_maybe_ro_var.inc
Normal file
23
mysql-test/include/safe_set_to_maybe_ro_var.inc
Normal file
@@ -0,0 +1,23 @@
|
||||
# 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;
|
@@ -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,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
|
||||
|
@@ -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,4 +1,5 @@
|
||||
-- source include/have_row_based.inc
|
||||
-- source include/not_ndb_default.inc
|
||||
-- source include/master-slave.inc
|
||||
|
||||
connection master;
|
||||
|
@@ -1,4 +1,4 @@
|
||||
|
||||
--source include/not_ndb_default.inc
|
||||
let $engine=MyISAM;
|
||||
--source extra/rpl_tests/rpl_truncate.test
|
||||
|
||||
|
@@ -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
|
||||
|
Reference in New Issue
Block a user