mirror of
https://github.com/MariaDB/server.git
synced 2025-01-19 13:32:33 +01:00
9b65f5782e
This is the non-ndb part of the patch. The return value of mysql_bin_log.write was ignored by most callers, which may lead to inconsistent on master and slave if the transaction was committed while the binlog was not correctly written. If my_error() is call in mysql_bin_log.write, this could also lead to assertion issue if my_ok() or my_error() is called after. This fixed the problem by let the caller to check and handle the return value of mysql_bin_log.write. This patch only adresses the simple cases.
22 lines
457 B
PHP
22 lines
457 B
PHP
#
|
|
# === Name
|
|
#
|
|
# binlog_inject_error.inc
|
|
#
|
|
# === Description
|
|
#
|
|
# Inject binlog write error when running the query, verifies that the
|
|
# query is ended with the proper error (ER_ERROR_ON_WRITE).
|
|
#
|
|
# === Usage
|
|
#
|
|
# let query= 'CREATE TABLE t1 (a INT)';
|
|
# source include/binlog_inject_error.inc;
|
|
#
|
|
|
|
SET GLOBAL debug='d,injecting_fault_writing';
|
|
--echo $query;
|
|
--replace_regex /(errno: .*)/(errno: #)/
|
|
--error ER_ERROR_ON_WRITE
|
|
--eval $query
|
|
SET GLOBAL debug='';
|