mysql-test/suite/binlog/r/binlog_row_mix_innodb_myisam.result:
Result change.
mysql-test/suite/binlog/t/binlog_start_comment.test:
Removing --short-form since that cause test to fail.
This patch adds code to convert the path for LOAD DATA INFILE
events to a Unix path which is needed for running mysql client
on Windows.
client/mysqlbinlog.cc:
BUG#32205 : Replaying statements from mysqlbinlog fails with a syntax error, replicates fine
This patch adds code to convert the path for LOAD DATA INFILE
events to a Unix path which is needed for running mysql client
on Windows.
The 'd:\x\y\z' path becomes 'd:xyz' when run in the client.
mysql-test/r/mysqlbinlog.result:
Result file change.
mysql-test/t/mysqlbinlog.test:
Fixing test to not be dependent on the sequence numbers
for file names generated by mysqlbinlog.
into dl145h.mysql.com:/data0/mkindahl/mysql-5.1-rpl-merge
BitKeeper/deleted/.del-binlog_start_comment.test:
Auto merged
mysql-test/suite/binlog/r/binlog_stm_mix_innodb_myisam.result:
Auto merged
mysql-test/extra/binlog_tests/mix_innodb_myisam_binlog.test:
Auto merged
mysql-test/r/mix_innodb_myisam_binlog.result:
Result change
mysql-test/t/binlog_start_comment.test:
Adding --local-load to mysqlbinlog to prevent it from failing
on Windows. Also adding --short-form.
mysql-test/t/mix_innodb_myisam_binlog.test:
Extending LIKE pattern to use either \n or \r\n in order to work
on Windows.
into dl145h.mysql.com:/data0/mkindahl/mysql-5.1-rpl-merge
BitKeeper/deleted/.del-binlog_start_comment.test:
Auto merged
include/my_sys.h:
Auto merged
sql/log.cc:
Auto merged
sql/set_var.cc:
Auto merged
sql/sql_acl.cc:
Auto merged
into dl145h.mysql.com:/data0/mkindahl/mysql-5.1-rpl-merge
BitKeeper/deleted/.del-bdb_notembedded.result:
Auto merged
BitKeeper/deleted/.del-strict_autoinc_4bdb.result:
Auto merged
BitKeeper/deleted/.del-bdb_notembedded.result:
Delete: mysql-test/r/bdb_notembedded.result
mysql-test/suite/binlog/r/binlog_stm_mix_innodb_myisam.result:
Result file held binlog for row-based replication,
but test is for statement-based replication.
into dl145h.mysql.com:/data0/mkindahl/mysql-5.1-rpl-merge
client/client_priv.h:
Auto merged
include/my_sys.h:
Auto merged
mysql-test/mysql-test-run.pl:
Auto merged
mysql-test/lib/mtr_report.pl:
Auto merged
mysql-test/suite/rpl/t/rpl_err_ignoredtable.test:
Auto merged
sql/item_cmpfunc.cc:
Auto merged
sql/log_event.cc:
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/slave.cc:
Auto merged
sql/sql_acl.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_repl.cc:
Auto merged
sql/sql_view.cc:
Auto merged
mysql-test/suite/rpl/r/rpl_invoked_features.result:
Manual merge.
mysql-test/suite/rpl/t/rpl_invoked_features.test:
Manual merge.
sql/log.cc:
Manual merge.
into dl145h.mysql.com:/data0/mkindahl/mysql-5.0-rpl-merge
include/my_sys.h:
Auto merged
sql/log.cc:
Auto merged
sql/set_var.cc:
Auto merged
sql/sql_acl.cc:
Auto merged
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.
mysql-test/include/have_local_infile.inc:
BitKeeper file /data0/mkindahl/mysql-5.0-rpl-merge/mysql-test/include/have_local_infile.inc
mysql-test/r/have_local_infile.require:
BitKeeper file /data0/mkindahl/mysql-5.0-rpl-merge/mysql-test/r/have_local_infile.require
mysql-test/t/binlog_start_comment.test:
Test requires that local_infile is on, so added require for that.
mysql-test/t/rpl_sp.test:
Adding missing sync_slave_with_master causing following tests to fail.
into dl145h.mysql.com:/data0/mkindahl/mysql-5.1-rpl-merge
BitKeeper/deleted/.del-rpl_transaction.test:
Auto merged
include/my_sys.h:
Auto merged
mysql-test/extra/binlog_tests/blackhole.test:
Auto merged
mysql-test/r/case.result:
Auto merged
mysql-test/r/mysqlbinlog2.result:
Auto merged
mysql-test/suite/binlog/r/binlog_stm_blackhole.result:
Auto merged
mysql-test/t/case.test:
Auto merged
sql/set_var.cc:
Auto merged
sql/sql_acl.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
into dl145h.mysql.com:/data0/mkindahl/mysql-5.1-rpl-merge
BitKeeper/deleted/.del-show_binlog_events2.inc:
Auto merged
sql-common/client.c:
Auto merged
sql/item_cmpfunc.cc:
Auto merged
sql/log_event.cc:
Auto merged
sql/slave.cc:
Auto merged
BitKeeper/deleted/.del-show_binlog_events2.inc:
Delete: mysql-test/include/show_binlog_events2.inc
client/mysqlbinlog.cc:
char -> uchar for raw memory.
sql/item_cmpfunc.cc:
Adding cast to remove warning when converting negative integer
to unsigned type.
sql/log_event.cc:
char -> uchar for raw memory.
sql/log_event.h:
char -> uchar for raw memory.
sql/rpl_utility.cc:
Adding cast to remove warning when converting negative integer
to unsigned type.
sql/slave.cc:
char -> uchar for raw memory.
sql/sql_repl.cc:
char -> uchar for raw memory.
sql-common/client.c:
char -> uchar for raw memory.
mysql-test/r/bdb_notembedded.result:
Result change.
mysql-test/r/rpl_loaddata_map.result:
Result change.
mysql-test/t/rpl_loaddata_map.test:
Blanking out file id as well.
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 dl145h.mysql.com:/data0/mkindahl/mysql-5.0-rpl-merge
include/my_sys.h:
Auto merged
mysql-test/r/blackhole.result:
Auto merged
mysql-test/r/case.result:
Auto merged
mysql-test/r/mysqlbinlog2.result:
Auto merged
mysql-test/t/blackhole.test:
Auto merged
mysql-test/t/case.test:
Auto merged
sql/set_var.cc:
Auto merged
sql/sql_acl.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
mysql-test/include/show_binlog_events.inc:
Replacing file_id=N with file_id=# to avoid result mismatches
mysql-test/suite/binlog/r/binlog_killed_simulate.result:
Result change
mysql-test/suite/binlog/r/binlog_row_mix_innodb_myisam.result:
Result change
mysql-test/suite/binlog/r/binlog_stm_blackhole.result:
Result change
mysql-test/suite/binlog/r/binlog_stm_mix_innodb_myisam.result:
Result change
mysql-test/suite/binlog/t/binlog_stm_mix_innodb_myisam.test:
Binlog positions differ between mixed and statement based replication.
mysql-test/suite/rpl/r/rpl_stm_log.result:
Result change
Here is the scenario that causes the failure.(by Mats)
1. The to-be corrupt log event (let's call it X), is split into two
packets B and C on the network level (net_write_buff()). The parts
are X = (x',x''). The part x' ends up in packet B and part x''
ends up in packet C. Prior to the corrupt event X, the event Y has
been written successfully, but has been split into two packets as
well, which we call (y',y'').
2. The master sends packet A = (y'',x') to the slave, increases the
packet sequence number, the slave receives the packet, but fails
to reply before the master gets a timeout.
3. Since the master got a timeout, it reports failure, and aborts
sending the binary log by exiting mysql_binlog_send(). However, it
leaves the buffer intact, still holding y'' (but not x', since the
write_pos is not increased).
4. After exiting mysql_binlog_send(), the master does a
disconnection of the client thread, which involves sending an
error message e to the client (i.e., the slave).
5. In this case, net_write_buff() is used again, but this time the
old contents of the packet is used so that the new packet is
D = (y'',e). Note that this will use a new packet sequence number,
since the packet number was increased in step 2.
6. The slave receives the tail y'' of the Y log event, concatenates
this with x' (which it already received), and writes the event
(x',y'') it to the relay log since it hasn't noticed anything is
amiss.
7. It then tries to read more bytes, which is either e (if the length
given for X just happened to match the length given for Y, or just
plain garbage because the slave is out of sync with what is
actually sent.
8. After a while, the SQL thread tries to execute the event (x',y''),
which is very likely to be just nonsense.
The problem can be fixed by not resetting net->error after the call of
mysql_binlog_send, so the error message will not be sent and the connection
will be closed.
sql/sql_parse.cc:
Do not reset net->error, if net->error == 2, we should not try to use the connection again
into ramayana.hindu.god:/home/tsmith/m/bk/maint/51
mysql-test/r/mysqlcheck.result:
Use local (manual merge)
mysql-test/t/mysqlcheck.test:
Use local (manual merge)
and so that it works correctly on Windows.
mysql-test/r/mysqlcheck.result:
Flush tables before monkeying around with underlying MyISAM data files
mysql-test/t/mysqlcheck.test:
Fix the test case for bug #25347 so that it actually does test the behavior.
Also, this makes it work on Windows by ensuring that mysqld doesn't hold the
underlying MyISAM files open while we try to corrupt them on disk.
Flush tables before monkeying around with underlying MyISAM data files;
--use-frm, so that mysqlcheck will succeed.
into ramayana.hindu.god:/home/tsmith/m/bk/maint/51
client/mysqldump.c:
Auto merged
configure.in:
Auto merged
sql/item_func.cc:
Auto merged
sql/item_sum.cc:
Auto merged
sql/mysqld.cc:
Auto merged
sql/sp_head.cc:
Auto merged
sql/sp_head.h:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_cache.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_delete.cc:
Auto merged
sql/sql_insert.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_show.cc:
Auto merged
sql/sql_table.cc:
Auto merged
sql/sql_update.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
sql/handler.cc:
Manual merge
sql/item.cc:
Manual merge
The problem is when create/rename/drop users, the statement was logged regardless of error, even if no data has been changed, the statement was logged.
After this patch, create/rename/drop users don't write the binlog if the statement makes no changes, if the statement does make any changes, log the statement with possible error code.
This patch is based on the patch for BUG#29749, which is not pushed
sql/sql_acl.cc:
when create/rename/drop users, don't write the binlog if the statement make no changes
mysql-test/r/rpl_user.result:
New BitKeeper file ``mysql-test/r/rpl_user.result''
mysql-test/t/rpl_user.test:
New BitKeeper file ``mysql-test/t/rpl_user.test''
into quad.:/mnt/raid/alik/MySQL/devel/5.1-rt-merged-5.0-rt
mysql-test/r/innodb_mysql.result:
Auto merged
mysql-test/t/disabled.def:
Auto merged
sql/sql_insert.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_update.cc:
Auto merged