mirror of
https://github.com/MariaDB/server.git
synced 2025-01-18 04:53:01 +01:00
2f78abd21b
Problem: Some system functions that could return different values on master and slave were not marked unsafe. In particular: GET_LOCK IS_FREE_LOCK IS_USED_LOCK MASTER_POS_WAIT RELEASE_LOCK SLEEP SYSDATE VERSION Fix: Mark these functions unsafe. mysql-test/extra/rpl_tests/rpl_stm_000001.test: - The test does not work in mixed mode any more, since it tries to simulate an error in the sql thread in a query that uses get_lock. Since get_lock now causes the query to be logged in row format, the error didn't happen. Hence, we now force statement mode. - Warnings must be disabled when the unsafe query is issued. - Replaced some save_master_pos+connection slave+sync_with_master by sync_slave_with_master. mysql-test/suite/binlog/r/binlog_stm_mix_innodb_myisam.result: updated result file mysql-test/suite/binlog/r/binlog_stm_row.result: updated result file mysql-test/suite/binlog/r/binlog_unsafe.result: updated result file mysql-test/suite/binlog/t/binlog_killed.test: binlog_killed only works in statement format now, since it switches to row mode in mixed mode. mysql-test/suite/binlog/t/binlog_stm_mix_innodb_myisam.test: suppress warnings for unsafe statements mysql-test/suite/binlog/t/binlog_stm_row.test: - Suppress warnings in test that causes warnings. - The test sets binlog format explicitly, so no need to execute it twice. mysql-test/suite/binlog/t/binlog_unsafe.test: Added test for all unsafe system functions. This test also includes system functions that were unsafe prior to BUG#47995. mysql-test/suite/rpl/r/rpl_err_ignoredtable.result: updated result file mysql-test/suite/rpl/r/rpl_get_lock.result: updated result file mysql-test/suite/rpl/r/rpl_nondeterministic_functions.result: new result file mysql-test/suite/rpl/r/rpl_stm_000001.result: updated result file mysql-test/suite/rpl/r/rpl_trigger.result: updated result file mysql-test/suite/rpl/t/rpl_err_ignoredtable.test: - suppress warnings for unsafe statement - replaced save_master_pos+connection slave+sync_with_master with sync_slave_with_master mysql-test/suite/rpl/t/rpl_get_lock.test: update test case that causes new warnings mysql-test/suite/rpl/t/rpl_nondeterministic_functions.test: Added new test case for nondeterministic functions. mysql-test/suite/rpl/t/rpl_trigger.test: update test case that causes new warnings sql/item_create.cc: Marked some system functions unsafe. sql/item_strfunc.cc: Clarified comment related to this bug. sql/sql_yacc.yy: Marked sysdate unsafe. |
||
---|---|---|
.. | ||
rpl_auto_increment.test | ||
rpl_auto_increment_insert_view.test | ||
rpl_auto_increment_invoke_trigger.test | ||
rpl_autoinc_func_invokes_trigger.test | ||
rpl_blackhole.test | ||
rpl_charset.test | ||
rpl_commit_after_flush.test | ||
rpl_conflicts.test | ||
rpl_ddl.test | ||
rpl_deadlock.test | ||
rpl_delete_no_where.test | ||
rpl_EE_err.test | ||
rpl_extraMaster_Col.test | ||
rpl_extraSlave_Col.test | ||
rpl_failed_optimize.test | ||
rpl_flsh_tbls.test | ||
rpl_foreign_key.test | ||
rpl_get_master_version_and_clock.test | ||
rpl_insert_delayed.test | ||
rpl_insert_id.test | ||
rpl_insert_id_pk.test | ||
rpl_insert_ignore.test | ||
rpl_loaddata.test | ||
rpl_loadfile.test | ||
rpl_log.test | ||
rpl_max_relay_size.test | ||
rpl_mixing_engines.test | ||
rpl_multi_query.test | ||
rpl_multi_update.test | ||
rpl_multi_update2.test | ||
rpl_multi_update3.test | ||
rpl_ndb_2multi_basic.test | ||
rpl_ndb_2multi_eng.test | ||
rpl_ndb_apply_status.test | ||
rpl_partition.test | ||
rpl_relayrotate.test | ||
rpl_reset_slave.test | ||
rpl_row_001.test | ||
rpl_row_basic.test | ||
rpl_row_blob.test | ||
rpl_row_delayed_ins.test | ||
rpl_row_func003.test | ||
rpl_row_sp002.test | ||
rpl_row_sp003.test | ||
rpl_row_sp006.test | ||
rpl_row_sp007.test | ||
rpl_row_tabledefs.test | ||
rpl_row_UUID.test | ||
rpl_stm_000001.test | ||
rpl_stm_EE_err2.test | ||
rpl_sv_relay_space.test | ||
rpl_trig004.test | ||
rpl_truncate.test | ||
rpl_truncate_helper.test |