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.
The following is an excerption from the WL.
1. Change so that MIXED is default format
1.1 to change the default for command line --binlog-format
1.2 to alter global_system_variables.binlog_format calculation
basing on command line --binlog-format parameter and
its default.
2. Change test suite so that more testing is done by MIXED format.
2.1 to check if there are test cases requiring --binlog-foramt=statement via
`source include/have_binlog_format_statement.inc' and affected by
altering the latter to be "mixed".
2.2 to check the content of such vulnerable cases to find if
extending to the mixed does not modify results. In that case simply
substitute source arguments as explained.
2.3 if a test in mixed mode deals with features triggering
row-binlogging then if necessary we can switch explicitly
to statement mode or create another test to run with
non-recommended STATEMENT mode
Particullarily, extracting INSERT DELAYED
binlogging subtest for statement mode is performed, and
the snippet is moved into a separate test file.
Note that since now all three modes verify this use case
through 3 different tests.
No changes in item 3 of HLD appeared to be needed.