mirror of
				https://github.com/MariaDB/server.git
				synced 2025-10-31 15:50:51 +03:00 
			
		
		
		
	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.
		
			
				
	
	
		
			24 lines
		
	
	
		
			707 B
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			24 lines
		
	
	
		
			707 B
		
	
	
	
		
			PHP
		
	
	
	
	
	
| # 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;
 |