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:
Added mysql-test/t/rpl_truncate_4ndb.test to the ignore list
mysql-test/r/rpl_row_basic_8partition.result:
new results
mysql-test/t/rpl_rbr_to_sbr.test:
# does not check any ndb features => not_ndb_default is enough
mysql-test/t/rpl_row_basic_8partition.test:
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:
excluding ndb option, no ndb features
mysql-test/t/rpl_truncate_2myisam.test:
ndb checks truncate separately
mysql-test/t/rpl_truncate_3innodb.test:
ndb checks truncate separately
mysql-test/include/safe_set_to_maybe_ro_var.inc:
pseudo-macro to make read-only global/session vars "settable" in sense that
SET var= val won't produce any error nor aborts testing.