mysql-test/suite/rpl/t/rpl_loaddata_map-master.opt:
Rename: mysql-test/t/rpl_loaddata_map-master.opt -> mysql-test/suite/rpl/t/rpl_loaddata_map-master.opt
mysql-test/suite/rpl/t/rpl_loaddata_map-slave.opt:
Rename: mysql-test/t/rpl_loaddata_map-slave.opt -> mysql-test/suite/rpl/t/rpl_loaddata_map-slave.opt
mysql-test/include/show_binlog_events2.inc:
Binlog position change.
mysql-test/suite/rpl/r/rpl_loaddata_map.result:
Result change.
mysql-test/suite/rpl/r/rpl_user.result:
Result change.
mysql-test/suite/rpl/t/rpl_loaddata_map.test:
Test is only sensible to execute for statement and mixed mode.
mysql-test/suite/rpl/t/rpl_user.test:
Test assumed that binary log is identical for row- and statement-
based logging, which it was not. Deleting users individually
on master and slave respectively, without involving binary
log.
into dl145h.mysql.com:/data0/mkindahl/mysql-5.1-rpl-merge
BitKeeper/deleted/.del-binlog_start_comment.result:
Auto merged
include/my_sys.h:
Auto merged
mysql-test/extra/binlog_tests/blackhole.test:
Auto merged
mysql-test/extra/binlog_tests/mix_innodb_myisam_binlog.test:
Auto merged
mysql-test/r/case.result:
Auto merged
mysql-test/suite/binlog/r/binlog_row_mix_innodb_myisam.result:
Auto merged
mysql-test/suite/binlog/r/binlog_stm_blackhole.result:
Auto merged
mysql-test/suite/rpl/r/rpl_000015.result:
Auto merged
mysql-test/suite/rpl/t/rpl_000015.test:
Auto merged
mysql-test/t/case.test:
Auto merged
sql/log_event.cc:
Auto merged
sql/sql_acl.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
BitKeeper/deleted/.del-binlog_start_comment.test:
Using remote file.
mysql-test/suite/binlog/r/binlog_stm_mix_innodb_myisam.result:
Manual merge. Taking remote file to update result set after merge,
mysql-test/suite/rpl/r/rpl_row_tabledefs_2myisam.result:
Manual merge.
mysql-test/suite/rpl/r/rpl_row_tabledefs_3innodb.result:
Manual merge.
into mail.hezx.com:/media/sda3/work/mysql/bkwork/versional/merge-51
mysql-test/suite/rpl/r/rpl_row_tabledefs_3innodb.result:
mask error message in show slave status
mysql-test/extra/rpl_tests/rpl_row_tabledefs.test:
Mask out error messages
mysql-test/suite/rpl/r/rpl_row_tabledefs_2myisam.result:
Mask out Error messages in reslut of show slave status
mysql-test/suite/rpl/r/rpl_row_tabledefs_3innodb.result:
Mask out Error messages in reslut of show slave status
mysql-test/suite/rpl/t/rpl_temporary_errors.test:
mask out binlog position
into mail.hezx.com:/media/sda3/work/mysql/bkwork/versional/merge-51
mysql-test/suite/rpl/r/rpl_create_database.result:
Auto merged
mysql-test/suite/rpl/r/rpl_load_from_master.result:
Auto merged
mysql-test/suite/rpl/t/rpl_create_database.test:
Auto merged
mysql-test/suite/rpl/t/rpl_load_from_master.test:
Auto merged
mysql-test/suite/rpl/r/rpl_init_slave.result:
SCCS merged
mysql-test/suite/rpl/t/rpl_init_slave.test:
SCCS merged
Mask binlog positions, error, warning and other information that are not significant for the test
mysql-test/extra/rpl_tests/rpl_max_relay_size.test:
Mask out binlog position and DBs in result of show master status
mysql-test/extra/rpl_tests/rpl_reset_slave.test:
Mask out log positions in tests to make them version independent
mysql-test/extra/rpl_tests/rpl_row_tabledefs.test:
Mask out Error messages in reslut of show slave status
mysql-test/suite/rpl/r/rpl_000015.result:
Mask out log positions in tests to make them version independent
---
Mask out binlog position and DBs in result of show master status
mysql-test/suite/rpl/r/rpl_change_master.result:
Mask out log positions in tests to make them version independent
mysql-test/suite/rpl/r/rpl_create_database.result:
fix for versional test
mysql-test/suite/rpl/r/rpl_grant.result:
fix for versional test
mysql-test/suite/rpl/r/rpl_init_slave.result:
fix for versional test
mysql-test/suite/rpl/r/rpl_load_from_master.result:
update result
mysql-test/suite/rpl/r/rpl_log_pos.result:
Mask out binlog position and DBs in result of show master status
mysql-test/suite/rpl/r/rpl_rotate_logs.result:
Mask out binlog position and DBs in result of show master status
mysql-test/suite/rpl/r/rpl_row_max_relay_size.result:
Mask out binlog position and DBs in result of show master status
mysql-test/suite/rpl/r/rpl_row_reset_slave.result:
Mask out log positions in tests to make them version independent
mysql-test/suite/rpl/r/rpl_skip_error.result:
Mask out log positions in tests to make them version independent
mysql-test/suite/rpl/r/rpl_stm_max_relay_size.result:
Mask out log positions in tests to make them version independent
---
Mask out binlog position and DBs in result of show master status
mysql-test/suite/rpl/r/rpl_stm_reset_slave.result:
Mask out log positions in tests to make them version independent
mysql-test/suite/rpl/r/rpl_stm_until.result:
Mask out log positions in tests to make them version independent
mysql-test/suite/rpl/r/rpl_temporary_errors.result:
Mask out binlog positions
mysql-test/suite/rpl/t/rpl_000015.test:
Mask out log positions in tests to make them version independent
mysql-test/suite/rpl/t/rpl_change_master.test:
Mask out log positions in tests to make them version independent
mysql-test/suite/rpl/t/rpl_colSize.test:
fix for versional test
mysql-test/suite/rpl/t/rpl_create_database.test:
fix for versional test
mysql-test/suite/rpl/t/rpl_grant.test:
fix for versional test
mysql-test/suite/rpl/t/rpl_init_slave.test:
fix for versional test
mysql-test/suite/rpl/t/rpl_load_from_master.test:
fix for versional test
mysql-test/suite/rpl/t/rpl_log_pos.test:
Mask out binlog position and DBs
mysql-test/suite/rpl/t/rpl_rotate_logs.test:
Mask out log positions in tests to make them version independent
mysql-test/suite/rpl/t/rpl_skip_error.test:
Mask out log positions in tests to make them version independent
mysql-test/suite/rpl/t/rpl_stm_until.test:
Mask out log positions in tests to make them version independent
mysql-test/include/show_binary_logs.inc:
Mask out log positions in tests to make them version independent
mysql-test/include/show_master_logs.inc:
Mask out log positions in tests to make them version independent
mysql-test/include/show_master_status.inc:
Mask out log positions in tests to make them version independent
---
Mask out binlog position and DBs in result of show master status
mysql-test/include/show_slave_status2.inc:
Mask out log positions in tests to make them version independent
mysql-test/suite/rpl/r/rpl_init_slave.result:
Result change.
mysql-test/suite/rpl/t/rpl_init_slave.test:
Starting and stopping slave to make sure that the init_slave
variable is executed.
into dl145h.mysql.com:/data0/mkindahl/mysql-5.1-rpl-merge
BitKeeper/deleted/.del-binlog_start_comment.result:
Auto merged
BitKeeper/deleted/.del-binlog_start_comment.test:
Auto merged
mysql-test/suite/rpl/r/rpl_timezone.result:
Auto merged
mysql-test/suite/rpl/r/rpl_row_tabledefs_3innodb.result:
Manual merge.
into dl145h.mysql.com:/data0/mkindahl/mysql-5.1-rpl-merge
mysql-test/extra/binlog_tests/mix_innodb_myisam_binlog.test:
Auto merged
mysql-test/suite/binlog/r/binlog_row_binlog.result:
Auto merged
mysql-test/suite/binlog/r/binlog_row_mix_innodb_myisam.result:
Auto merged
mysql-test/suite/binlog/r/binlog_stm_mix_innodb_myisam.result:
Auto merged
mysql-test/suite/binlog/t/binlog_row_mix_innodb_myisam.test:
Auto merged
mysql-test/suite/binlog/t/binlog_stm_mix_innodb_myisam.test:
Auto merged
sql/log.cc:
Auto merged
sql/log_event.cc:
Auto merged
sql/set_var.cc:
Auto merged
sql/slave.cc:
Auto merged
mysql-test/include/have_multi_ndb.inc:
Manual merge.
mysql-test/suite/rpl_ndb/r/rpl_ndb_transaction.result:
Manual merge.
mysql-test/suite/rpl_ndb/t/rpl_ndb_transaction.test:
Manual merge.
mysql-test/suite/rpl/r/rpl_create_database.result:
updated result file
mysql-test/suite/rpl/r/rpl_load_from_master.result:
updated result file
mysql-test/suite/rpl/t/rpl_create_database.test:
added the mask 'mysql%' for SHOW DATABASES
mysql-test/suite/rpl/t/rpl_load_from_master.test:
added the mask 'mysql%' for SHOw DATABASES
into dl145h.mysql.com:/data0/mkindahl/mysql-5.1-rpl-merge
mysql-test/include/have_multi_ndb.inc:
Auto merged
mysql-test/lib/mtr_cases.pl:
Auto merged
mysql-test/lib/mtr_report.pl:
Auto merged
mysql-test/suite/binlog/r/binlog_stm_blackhole.result:
Auto merged
mysql-test/suite/rpl_ndb/r/rpl_row_basic_7ndb.result:
Auto merged
mysql-test/suite/rpl_ndb/t/disabled.def:
Auto merged
sql/ha_ndbcluster_binlog.cc:
Auto merged
sql/log.cc:
Auto merged
sql/log_event_old.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/rpl_rli.cc:
Auto merged
sql/set_var.cc:
Auto merged
sql/set_var.h:
Auto merged
sql/slave.cc:
Auto merged
sql/sql_binlog.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_string.cc:
Auto merged
mysql-test/Makefile.am:
SCCS merged
mysql-test/mysql-test-run.pl:
Manual merge.
mysql-test/suite/binlog/t/disabled.def:
Manual merge.
mysql-test/suite/rpl/r/rpl_row_tabledefs_2myisam.result:
Manual merge.
mysql-test/suite/rpl/r/rpl_row_tabledefs_3innodb.result:
Manual merge.
sql/log_event.cc:
Manual merge.
,
Problem: it is unsafe to read base64-printed events without first
reading the Format_description_log_event (FD). Currently, mysqlbinlog
cannot print the FD.
As a side effect, another bug has also been fixed: When mysqlbinlog
--start-position=X was specified, no ROLLBACK was printed. I changed
this, so that ROLLBACK is always printed.
This patch does several things:
- Format_description_log_event (FD) now print themselves in base64
format.
- mysqlbinlog is now able to print FD events. It has three modes:
--base64-output=auto Print row events in base64 output, and print
FD event. The FD event is printed even if
it is outside the range specified with
--start-position, because it would not be
safe to read row events otherwise. This is
the default.
--base64-output=always Like --base64-output=auto, but also print
base64 output for query events. This is
like the old --base64-output flag, which
is also a shorthand for
--base64-output=always
--base64-output=never Never print base64 output, generate error if
row events occur in binlog. This is
useful to suppress the FD event in binlogs
known not to contain row events (e.g.,
because BINLOG statement is unsafe,
requires root privileges, is not SQL, etc)
- the BINLOG statement now handles FD events correctly, by setting
the thread's rli's relay log's description_event_for_exec to the
loaded event.
In fact, executing a BINLOG statement is almost the same as reading
an event from a relay log. Before my patch, the code for this was
separated (exec_relay_log_event in slave.cc executes events from
the relay log, mysql_client_binlog_statement in sql_binlog.cc
executes BINLOG statements). I needed to augment
mysql_client_binlog_statement to do parts of what
exec_relay_log_event does. Hence, I did a small refactoring and
moved parts of exec_relay_log_event to a new function, which I
named apply_event_and_update_pos. apply_event_and_update_pos is
called both from exec_relay_log_event and from
mysql_client_binlog_statement.
- When a non-FD event is executed in a BINLOG statement, without
previously executing a FD event in a BINLOG statement, it generates
an error, because that's unsafe. I took a new error code for that:
ER_NO_FORMAT_DESCRIPTION_EVENT_BEFORE_BINLOG_STATEMENTS.
In order to get a decent error message containing the name of the
event, I added the class method char*
Log_event::get_type_str(Log_event_type type), which returns a
string name for the given Log_event_type. This is just like the
existing char* Log_event::get_type_str(), except it is a class
method that takes the log event type as parameter.
I also added PRE_GA_*_ROWS_LOG_EVENT to Log_event::get_type_str(),
so that names of old rows event are properly printed.
- When reading an event, I added a check that the event type is known
by the current Format_description_log_event. Without this, it may
crash on bad input (and I was struck by this several times).
- I patched the following test cases, which all contain BINLOG
statements for row events which must be preceded by BINLOG
statements for FD events:
- rpl_bug31076
While I was here, I fixed some small things in log_event.cc:
- replaced hard-coded 4 by EVENT_TYPE_OFFSET in 3 places
- replaced return by DBUG_VOID_RETURN in one place
- The name of the logfile can be '-' to indicate stdin. Before my
patch, the code just checked if the first character is '-'; now it
does a full strcmp(). Probably, all arguments that begin with a -
are already handled somewhere else as flags, but I still think it
is better that the code reflects what it is supposed to do, with as
little dependencies as possible on other parts of the code. If we
one day implement that all command line arguments after -- are
files (as most unix tools do), then we need this.
I also fixed the following in slave.cc:
- next_event() was declared twice, and queue_event was not static but
should be static (not used outside the file).
client/client_priv.h:
Declared the new option for base64 output.
client/mysqlbinlog.cc:
- Change from using the two-state command line option
"default/--base64-output" to the three-state
"--base64-output=[never|auto|always]"
- Print the FD event even if it is outside the --start-position range.
- Stop if a row event is about to be printed without a preceding FD
event.
- Minor fixes:
* changed 4 to EVENT_TYPE_OFFSET in some places
* Added comments
* before, "mysqlbinlog -xyz" read from stdin; now it does not
(only "mysqlbinlog -" reads stdin).
mysql-test/r/mysqlbinlog2.result:
Updated result file: mysqlbinlog now prints ROLLBACK always.
mysql-test/suite/binlog/t/disabled.def:
The test must be disabled since it reveals another bug: see BUG#33247.
mysql-test/suite/rpl/r/rpl_bug31076.result:
Updated result file
mysql-test/suite/rpl/r/rpl_row_mysqlbinlog.result:
Updated result file
mysql-test/suite/rpl/t/rpl_bug31076.test:
Had to add explicit Format_description_log_event before other BINLOG
statements
mysql-test/t/mysqlbinlog2.test:
we must suppress base64 output in result file because it contains a
timestamp
sql/log_event.cc:
- Made FD events able to print themselves
- Added check that the current FD event knows about the event type, when
an event is about to be read. (Hint to reviewers: I had to re-indent
a big block because of this; use diff -b)
* To get a decent error message, I also added a class method
const char* Log_event::get_type_str(Log_event_type)
which converts number to event type string without having a
Log_event object.
* Made Log_event::get_type_str aware of PRE_GA_*_ROWS_LOG_EVENT.
- Minor fixes:
* Changed return to DBUG_VOID_RETURN
sql/log_event.h:
- Declared enum to describe the three base64_output modes
- Use the enum instead of a flag
- Declare the new class method get_type_str (see log_event.cc)
sql/share/errmsg.txt:
Added error msg.
sql/slave.cc:
- Factored out part of exec_relay_log_event to the new function
apply_event_and_update_pos, because that code is needed when executing
BINLOG statements. (this is be functionally equivalent to the
previous code, except: (1) skipping events is now optional, controlled
by a parameter to the new function (2) the return value of
exec_relay_log_event has changed; see next item).
- Changed returned error value to always be 1. Before, it would return
the error value from apply_log_event, which was unnecessary. This
change is safe because the exact return value of exec_relay_log_event
is never examined; it is only tested to be ==0 or !=0.
- Added comments describing exec_relay_log_event and
apply_event_and_update_pos.
- Minor fixes:
* Removed duplicate declaration of next_event, made queue_event
static.
* Added doxygen code to include this file.
sql/slave.h:
Declared the new apply_event_and_update_pos
sql/sql_binlog.cc:
- Made mysql_binlog_statement set the current FD event when the given
event is an FD event. This entails using the new function
apply_event_and_update_pos from slave.cc instead of just calling the
ev->apply method.
- Made mysql_binlog_statement fail if the first BINLOG statement is not
an FD event.
mysql-test/suite/binlog/r/binlog_base64_flag.result:
New test file needs new result file
mysql-test/suite/binlog/t/binlog_base64_flag.test:
Added test case to verify that:
- my patch fixes the bug
- the new --base64-output flag works as expected
- base64 events not preceded by an FD event give an error
- an event of a type not known by the current FD event fails cleanly.
mysql-test/suite/binlog/std_data/binlog-bug32407.000001:
BitKeeper file /home/sven/bk/b32407-5.1-new-rpl-mysqlbinlog_base64/mysql-test/suite/binlog/std_data/binlog-bug32407.000001
Now, every transaction (including autocommit transactions) starts with
a BEGIN and ends with a COMMIT/ROLLBACK in the binlog.
Added a test case, and updated lots of test case result files.
mysql-test/r/multi_update.result:
Updated result file
mysql-test/r/sp_trans_log.result:
Updated result file
mysql-test/suite/binlog/r/binlog_innodb.result:
Updated result file
mysql-test/suite/binlog/r/binlog_multi_engine.result:
Updated result file
mysql-test/suite/binlog/r/binlog_stm_blackhole.result:
Updated result file
mysql-test/suite/binlog/r/binlog_stm_mix_innodb_myisam.result:
Updated result file
mysql-test/suite/ndb/r/ndb_binlog_format.result:
Updated result file
mysql-test/suite/rpl/r/rpl_innodb_mixed_dml.result:
Updated result file
mysql-test/suite/rpl/r/rpl_row_charset_innodb.result:
Updated result file
mysql-test/suite/rpl/r/rpl_row_create_table.result:
Updated result file
mysql-test/suite/rpl/r/rpl_row_log_innodb.result:
Updated result file
mysql-test/suite/rpl/r/rpl_switch_stm_row_mixed.result:
Updated result file
mysql-test/suite/rpl/r/rpl_truncate_3innodb.result:
Updated result file
mysql-test/suite/rpl/t/rpl_row_create_table.test:
Updated result file
mysql-test/suite/rpl_ndb/r/rpl_ndb_stm_innodb.result:
Updated result file
sql/log.cc:
- Always write BEGIN and COMMIT around statements, even in autocommit
mode.
- Added comments for binlog_commit and binlog_rollback.
sql/log_event.cc:
Added debug trigger to avoid writing xid events to the binlog.
mysql-test/suite/rpl_ndb/r/rpl_ndb_transaction.result:
Results for new test case
mysql-test/suite/rpl_ndb/t/rpl_ndb_transaction-master.opt:
Options for new test case
mysql-test/suite/rpl_ndb/t/rpl_ndb_transaction-slave.opt:
Options for new test case
mysql-test/suite/rpl_ndb/t/rpl_ndb_transaction.test:
Added new test case.
mysql-test/extra/rpl_tests/rpl_row_basic.test:
changes due to the strict mode gets default. This hunk is being added after merging
with changes from another bug fixes.
mysql-test/suite/rpl/r/rpl_ignore_table.result:
results changed
mysql-test/suite/rpl/r/rpl_row_basic_2myisam.result:
results changed
mysql-test/suite/rpl/r/rpl_row_basic_3innodb.result:
results changed
mysql-test/suite/rpl/t/rpl_ignore_table.test:
two queries on mysql db tables are replicated according to binlog_format, ie
in row-based when that is requested. Due to cancelling the idempotent default
row based events that previously exectuted successfully now stop the slave sql
thread.
We have to explicitly request the idempotent slave execution mode.
mysql-test/suite/rpl_ndb/r/rpl_ndb_dd_advance.result:
results changed. They are being committed only now since there was another
bug which fixes my working clone did not have.
mysql-test/suite/rpl_ndb/r/rpl_row_basic_7ndb.result:
results changed
sql/log_event.cc:
typo in manual merge earlier
into dl145j.mysql.com:/tmp/andrei/bug31552
mysql-test/extra/rpl_tests/rpl_row_basic.test:
Auto merged
mysql-test/suite/rpl/r/rpl_row_basic_2myisam.result:
Auto merged
mysql-test/suite/rpl/r/rpl_row_basic_3innodb.result:
Auto merged
mysql-test/suite/rpl/r/rpl_row_tabledefs_2myisam.result:
Auto merged
mysql-test/suite/rpl/r/rpl_row_tabledefs_3innodb.result:
Auto merged
mysql-test/suite/rpl_ndb/r/rpl_row_basic_7ndb.result:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/set_var.cc:
Auto merged
sql/set_var.h:
Auto merged
sql/share/errmsg.txt:
Auto merged
sql/sql_class.h:
Auto merged
sql/log_event.cc:
manual merge
without PK
Bug#31609 Not all RBR slave errors reported as errors
bug#32468 delete rows event on a table with foreign key constraint fails
The first two bugs comprise idempotency issues.
First, there was no error code reported under conditions of the bug
description although the slave sql thread halted.
Second, executions were different with and without presence of prim key in
the table.
Third, there was no way to instruct the slave whether to ignore an error
and skip to the following event or to halt.
Fourth, there are handler errors which might happen due to idempotent
applying of binlog but those were not listed among the "idempotent" error
list.
All the named issues are addressed.
Wrt to the 3rd, there is the new global system variable, changeble at run
time, which controls the slave sql thread behaviour.
The new variable allows further extensions to mimic the sql_mode
session/global variable.
To address the 4th, the new bug#32468 had to be fixed as it was staying
in the way.
include/my_bitmap.h:
basic operations with bits of an integer type are added.
mysql-test/extra/rpl_tests/rpl_foreign_key.test:
regression test for bug#32468
mysql-test/extra/rpl_tests/rpl_row_basic.test:
changes due to bug#31552/31609 idempotency is not default any longer
mysql-test/extra/rpl_tests/rpl_row_tabledefs.test:
changes due to bug#31552/31609 idempotency is not default any longer
mysql-test/suite/rpl/r/rpl_foreign_key_innodb.result:
results changed
mysql-test/suite/rpl/r/rpl_idempotency.result:
results changed
mysql-test/suite/rpl/r/rpl_row_basic_11bugs.result:
results changed
mysql-test/suite/rpl/r/rpl_row_basic_2myisam.result:
results changed
mysql-test/suite/rpl/r/rpl_row_basic_3innodb.result:
results changed
mysql-test/suite/rpl/r/rpl_row_mystery22.result:
results changed
mysql-test/suite/rpl/r/rpl_row_tabledefs_2myisam.result:
results changed
mysql-test/suite/rpl/r/rpl_row_tabledefs_3innodb.result:
results changed
mysql-test/suite/rpl/r/rpl_temporary_errors.result:
results changed
mysql-test/suite/rpl/t/rpl_idempotency.test:
extenstions to the test providing testing of complements to the
idempotent error set and checking how slave halts when it faces an error
from the list when the mode is STRICT.
mysql-test/suite/rpl/t/rpl_row_basic_11bugs.test:
changes due to bug#31552/31609 idempotency is not default any longer.
mysql-test/suite/rpl/t/rpl_row_mystery22.test:
changes due to bug#31552/31609 idempotency is not default any longer
mysql-test/suite/rpl/t/rpl_temporary_errors.test:
changes due to bug#31552/31609 idempotency is not default any longer
mysql-test/suite/rpl_ndb/r/rpl_ndb_dd_advance.result:
results changed
mysql-test/suite/rpl_ndb/r/rpl_row_basic_7ndb.result:
results changed
sql/log_event.cc:
the fix for bug#32468 delete rows event on a table with foreign key constraint fails
ensures the flags are set at proper time so that their values will be caught
by innodb.
reseting the flags is done along the common error and errorless execution
path.
The list of idempotent error is extended with foreign keys related items.
NDB engine write events are designed with the replace sematics in mind.
Therefore the corrsponding ndb handler's flag are (re)set regardless of
the slave's execution mode.
Rows_log_event::write_row() starts using the bool replace argument as its
caller sets it depending on the event's execution mode.
sql/log_event.h:
adding a new member to hold the slave's mode during execution of the event.
sql/mysql_priv.h:
changes to link the command line option with the new global sys var.
sql/mysqld.cc:
introduction of the new command line option.
providing its initialization to a default.
changes to link the command line option with the new global sys var.
sql/rpl_rli.cc:
rli post-event-execution cleanup restores the default bits.
sql/set_var.cc:
The new "standard" sys_var_set class' and the new global system var related
declarations and definitions.
fix_slave_exec_mode() is used as with the update method of a new class so
as at time of the command line arguments parsing.
sql/set_var.h:
new declarations. The class for the new global sys var is based on
yet another new "standard" one.
sql/share/errmsg.txt:
slave_exec_mode setting error;
slave inconsistency error which may be not an error when the intention
is "idempotent". I.e consisting of row-based events binlog is being
applied for the 2nd (more) time.
sql/sql_class.h:
The names for the bits of the new sever slave_exec_mode_options.
mysql-test/suite/rpl/t/rpl_idempotency-master.opt:
innodb is necessary
mysql-test/suite/rpl/t/rpl_idempotency-slave.opt:
innodb is necessary, as well as the tests start with non-default
IDEMPOTENT slave execution mode.
into ramayana.hindu.god:/home/tsmith/m/bk/maint/51-merge
client/mysqldump.c:
Auto merged
include/my_base.h:
Auto merged
include/my_sys.h:
Auto merged
libmysql/CMakeLists.txt:
Auto merged
libmysql/Makefile.shared:
Auto merged
mysql-test/lib/mtr_cases.pl:
Auto merged
mysql-test/mysql-test-run.pl:
Auto merged
mysql-test/r/create.result:
Auto merged
mysql-test/r/grant.result:
Auto merged
mysql-test/r/innodb.result:
Auto merged
mysql-test/r/ps.result:
Auto merged
mysql-test/suite/rpl/t/rpl_ssl.test:
Auto merged
mysql-test/t/cast.test:
Auto merged
mysql-test/t/create.test:
Auto merged
mysql-test/t/ps.test:
Auto merged
mysql-test/t/variables.test:
Auto merged
sql/field.cc:
Auto merged
sql/item_cmpfunc.cc:
Auto merged
sql/item_cmpfunc.h:
Auto merged
sql/item_timefunc.cc:
Auto merged
sql/opt_range.cc:
Auto merged
sql/records.cc:
Auto merged
sql/set_var.cc:
Auto merged
sql/set_var.h:
Auto merged
sql/sql_acl.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_table.cc:
Auto merged
sql/unireg.cc:
Auto merged
storage/myisam/ft_boolean_search.c:
Auto merged
storage/myisam/ha_myisam.cc:
Auto merged
storage/myisam/sort.c:
Auto merged
mysql-test/t/log_state.test:
Manual merge fix-up
mysql-test/include/mix1.inc:
Manual merge
mysql-test/r/ctype_ucs.result:
Manual merge
mysql-test/r/func_misc.result:
Manual merge
mysql-test/r/innodb_mysql.result:
Manual merge
mysql-test/r/key.result:
Manual merge
mysql-test/r/log_state.result:
Manual merge
mysql-test/suite/binlog/t/binlog_killed.test:
Manual merge
mysql-test/t/ctype_ucs.test:
Manual merge
mysql-test/t/func_misc.test:
Manual merge
mysql-test/t/key.test:
Manual merge
sql/item_strfunc.h:
Manual merge
strings/ctype-simple.c:
Manual merge
When executing drop view statement on the master, the statement is not written into bin-log if any error occurs, this could cause master slave inconsistence if any view has been dropped.
If some error occured and no view has been dropped, don't bin-log the statement, if at least one view has been dropped the query is bin-logged possible with an error.
sql/sql_view.cc:
If at least one view has been dropped the query is bin-logged possible with an error.
mysql-test/suite/rpl/r/rpl_drop_view.result:
Add test result for bug#30998
mysql-test/suite/rpl/t/rpl_drop_view.test:
Add test case for bug#30998
into dl145h.mysql.com:/data0/mkindahl/mysql-5.1-new-rpl
mysql-test/lib/mtr_report.pl:
Auto merged
mysql-test/r/mysqlbinlog.result:
Auto merged
mysql-test/t/mysqlbinlog.test:
Auto merged
sql/log_event.cc:
Auto merged
mysql-test/mysql-test-run.pl:
Manual merge
mysql-test/lib/mtr_cases.pl:
Manual merge, using remote code.
Moved disabling to rpl suite.
Bug#32801 wait_timeout.test fails randomly
Disabled test case.
mysql-test/suite/rpl/t/disabled.def:
Bug#8693 Test 'rpl_log_pos' fails sometimes
Moved disabling to rpl suite.
into stella.local:/home2/mydev/mysql-5.1-axmrg
include/my_base.h:
Auto merged
mysql-test/mysql-test-run.pl:
Auto merged
mysql-test/suite/ndb/t/disabled.def:
Auto merged
mysql-test/t/partition.test:
Auto merged
sql/handler.cc:
Auto merged
sql/item_cmpfunc.cc:
Auto merged
sql/slave.cc:
Auto merged
sql/sql_insert.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_table.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
client/mysql.cc:
Manual merge
mysql-test/suite/rpl/t/disabled.def:
Manual merge
mysql-test/suite/ndb/t/disabled.def:
Disabling failing tests.
mysql-test/suite/rpl/t/disabled.def:
Disabling failing tests.
mysql-test/suite/rpl/t/rpl_ssl.test:
Disabling part of test that fails.
The test case fails on "vanilla" and "no_innodb" builds.
These builds do not include InnoDB.
The test case requires InnoDB.
Added requirement for InnoDB into the test case, so that
it does not start on those builds.
mysql-test/suite/rpl/t/rpl_row_charset_innodb.test:
Bug#32668 - rpl_row_charset_innodb.test fails
Added requirement for InnoDB.
mysql-test/r/innodb.result:
Result change.
mysql-test/suite/rpl/r/rpl_binlog_grant.result:
Result change.
mysql-test/suite/rpl/r/rpl_extraColmaster_innodb.result:
Result change.
mysql-test/suite/rpl/r/rpl_extraColmaster_myisam.result:
Result change.
mysql-test/suite/rpl/t/disabled.def:
Enabling some tests.
mysql-test/suite/rpl/t/rpl_binlog_grant.test:
Adding missing master-slave.inc, causing previous tests to pollute
the binary log.
mysql-test/suite/rpl_ndb/t/disabled.def:
Enabling some tests.
mysql-test/lib/mtr_cases.pl:
updated the code for combination
mysql-test/mysql-test-run.pl:
added soft switching of binlog format
mysql-test/lib/mtr_misc.pl:
added new sub mtr_diff_opts
mysql-test/suite/rpl/r/rpl_invoked_features.result:
updated result
mysql-test/suite/rpl/t/rpl_invoked_features.test:
updated test
mysql-test/suite/rpl/t/rpl_misc_functions.test:
updated test
mysql-test/suite/rpl/t/rpl_session_var.test:
updated test
into dl145h.mysql.com:/data0/mkindahl/mysql-5.1-new-rpl
mysql-test/extra/rpl_tests/rpl_extraMaster_Col.test:
Auto merged
mysql-test/mysql-test-run.pl:
Auto merged
mysql-test/suite/rpl/include/rpl_mixed_dml.inc:
Auto merged
mysql-test/suite/rpl/r/rpl_bug31076.result:
Auto merged
mysql-test/suite/rpl/t/rpl_bug31076.test:
Auto merged
mysql-test/suite/rpl/t/rpl_innodb_bug28430.test:
Auto merged
mysql-test/suite/rpl_ndb/t/disabled.def:
Auto merged
sql/field.cc:
Auto merged
sql/ha_ndbcluster.cc:
Auto merged
sql/handler.cc:
Auto merged
sql/log.cc:
Auto merged
sql/log_event.cc:
Auto merged
sql/log_event_old.cc:
Auto merged
sql/mysqld.cc:
Auto merged
sql/slave.cc:
Auto merged
sql/sp_head.cc:
Auto merged
sql/sql_class.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_insert.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_table.cc:
Auto merged
sql/sql_update.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
mysql-test/t/partition.test:
Manual merge.
BitKeeper/deleted/.del-rpl_row_extraColmaster_ndb.result~a2c64bae75b49d2:
Manual merge.
mysql-test/suite/rpl/r/rpl_extraColmaster_innodb.result:
Manual merge.
mysql-test/suite/rpl/r/rpl_extraColmaster_myisam.result:
Manual merge.
mysql-test/suite/rpl/t/disabled.def:
Manual merge.
sql/sql_delete.cc:
Manual merge.
into koti.dsl.inet.fi:/home/elkin/MySQL/TEAM/FIXES/5.1/bug31170-rpl_innodb_bug28430_fails
mysql-test/suite/rpl/r/rpl_innodb_bug28430.result:
Auto merged
mysql-test/suite/rpl/t/rpl_innodb_bug28430.test:
manual merge
- Add debug queries
mysql-test/suite/rpl/t/rpl_ssl.test:
Add additional queries to run when we detect that the number of queries between slave and master differs
mysql-test/suite/rpl/r/rpl_found_rows.result:
Result change.
mysql-test/suite/rpl/t/rpl_found_rows.test:
Adding ORDER BY to avoid order dependencies.
Setting BINLOG_FORMAT=MIXED; for all master clients: one were missing.
Dropping procedures that polluted later test results.
Non-deterministic parameters of SHOW SLAVE STATUS are masked out
by means of using the standard include-macro.
The masked-out parameters are not needed by the logics of the original
tests. What is need to demonstre that replication is not stopped remains.
mysql-test/suite/rpl/r/rpl_innodb_bug28430.result:
results changed
mysql-test/suite/rpl/t/rpl_innodb_bug28430.test:
using the standard macro that takes care of masking out env specific values
into koti.dsl.inet.fi:/home/elkin/MySQL/merge-5.1
mysql-test/suite/binlog/r/binlog_killed.result:
Auto merged
mysql-test/suite/binlog/t/binlog_killed.test:
Auto merged
mysql-test/suite/rpl/t/rpl_dual_pos_advance.test:
Auto merged
mysql-test/suite/rpl/t/rpl_temporary.test:
manual merge
sql/log.cc:
manual merge
In BUG#30244 added FOUND_ROWS() as an unsafe function, but that
works only in mixed mode under 5.1. There is a workaround that
can be used in statement-based mode either under 5.0 or 5.1
where the result of FOUND_ROWS() is stored into a user vari-
able and used that way instead. This will replicate correctly
even under statement-based replication, since it will write
a User_var entry to the binary log. For some other cases, the
value has to be passed explicitly.
This patch adds tests to demonstrate that the workarounds docu-
mented for statement-based replication works as advertised, and
does more extensive tests for cases that does not work under sta-
tement-based replication actually work under mixed mode by switch-
ing to row-based replication.
mysql-test/include/reset_master_and_slave.inc:
New BitKeeper file ``mysql-test/include/reset_master_and_slave.inc''
mysql-test/suite/rpl/r/rpl_found_rows.result:
New BitKeeper file ``mysql-test/suite/rpl/r/rpl_found_rows.result''
mysql-test/suite/rpl/t/rpl_found_rows.test:
New BitKeeper file ``mysql-test/suite/rpl/t/rpl_found_rows.test''