summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Merge mysql.com:/home/bar/mysql-work/mysql-5.0.b32510unknown2008-02-2026-7/+373
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into mysql.com:/home/bar/mysql-work/mysql-5.0.b32510v2 mysql-test/r/ctype_big5.result: Auto merged mysql-test/r/ctype_cp932.result: Auto merged mysql-test/r/ctype_euckr.result: Auto merged mysql-test/r/ctype_gb2312.result: Auto merged mysql-test/r/ctype_gbk.result: Auto merged mysql-test/r/ctype_uca.result: Auto merged mysql-test/r/ctype_ucs.result: Auto merged mysql-test/t/ctype_cp932.test: Auto merged mysql-test/t/ctype_uca.test: Auto merged mysql-test/t/ctype_ucs.test: Auto merged strings/ctype-ucs2.c: Auto merged
| * Bug#32510 LIKE search fails with indexed 'eucjpms' and 'ujis' char columnunknown2008-02-0426-7/+373
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: some collation handlers called incorrect version of my_like_range_xxx(), which led to wrong min_str and max_str, so like range optimizer threw away good records. Fix: changing the wrong handlers to call proper version of my_like_range_xxx(). mysql-test/r/ctype_big5.result: Adding test mysql-test/r/ctype_cp932.result: Adding test mysql-test/r/ctype_eucjpms.result: Adding test mysql-test/r/ctype_euckr.result: Adding test mysql-test/r/ctype_gb2312.result: Adding test mysql-test/r/ctype_gbk.result: Adding test mysql-test/r/ctype_sjis.result: Adding test mysql-test/r/ctype_uca.result: Adding test mysql-test/r/ctype_ucs.result: Adding test mysql-test/r/ctype_ujis.result: Adding test mysql-test/t/ctype_big5.test: Adding test mysql-test/t/ctype_cp932.test: Adding test mysql-test/t/ctype_eucjpms.test: Adding test mysql-test/t/ctype_euckr.test: Adding test mysql-test/t/ctype_gb2312.test: Adding test mysql-test/t/ctype_gbk.test: Adding test mysql-test/t/ctype_sjis.test: Adding test mysql-test/t/ctype_uca.test: Adding test mysql-test/t/ctype_ucs.test: Adding test mysql-test/t/ctype_ujis.test: Adding test strings/ctype-euc_kr.c: Changing like_range function strings/ctype-eucjpms.c: Changing like_range function strings/ctype-gb2312.c: Changing like_range function strings/ctype-ucs2.c: Changing like_range function strings/ctype-ujis.c: Changing like_range function mysql-test/include/ctype_like_range_f1f2.inc: New BitKeeper file ``mysql-test/include/ctype_like_range_f1f2.inc''
* | Merge dl145h.mysql.com:/data0/mkindahl/mysql-5.0-rpl-mergeunknown2008-02-1511-6/+256
|\ \ | | | | | | | | | | | | | | | | | | into dl145h.mysql.com:/data0/mkindahl/mysql-5.0-rpl
| * \ Merge dl145h.mysql.com:/data0/mkindahl/mysql-5.0unknown2008-02-1110-4/+254
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | into dl145h.mysql.com:/data0/mkindahl/mysql-5.0-rpl-merge
| | * \ Merge bk-internal.mysql.com:/home/bk/mysql-5.0unknown2008-02-0810-4/+254
| | |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into dipika.(none):/opt/local/work/mysql-5.0-runtime
| | | * | Bug#33798 prepared statements improperly handle large unsigned intsunknown2008-02-085-1/+70
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The unsignedness of large integer user variables was not being properly preserved when feeded to prepared statements. This was happening because the unsigned flags wasn't being updated when converting the user variable is converted to a parameter. The solution is to copy the unsigned flag when converting the user variable to a parameter and take the unsigned flag into account when converting the integer to a string. mysql-test/r/binlog.result: Add test case result for Bug#33798 mysql-test/r/ps.result: Add test case result for Bug#33798 mysql-test/t/binlog.test: Add test case for Bug#33798 mysql-test/t/ps.test: Add test case for Bug#33798 sql/item.cc: Take the unsigned flag into account when converting the user variable.
| | | * | Fix compile warning about undefined rmdir() function.unknown2008-02-071-0/+4
| | | | |
| | | * | Merge pilot.mysql.com:/data/msvensson/mysql/bug31004/my50-bug31004unknown2008-02-075-3/+180
| | | |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into pilot.mysql.com:/data/msvensson/mysql/mysql-5.0-runtime client/mysqltest.c: Auto merged
| | | | * | Bug#31004 mysqltest needs a --mkdir commandunknown2007-11-014-3/+93
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Add new mysqltest command "mkdir" and "rmdir" client/CMakeLists.txt: Build mysys/my_mkdir.c with mysqltest client/Makefile.am: Build mysys/my_mkdir.c with mysqltest client/mysqltest.c: Add new mysqltest commands "mkdir" and "rmdir" mysql-test/t/mysqltest.test: Add tests for "mkdir" and ""rmdir"
| | | | * | Backport mysqltests "change_user" commandunknown2007-10-313-1/+88
| | | | | |
| * | | | | Merge dl145h.mysql.com:/data0/mkindahl/mysql-5.0-rplunknown2008-02-111-2/+2
| |\ \ \ \ \ | | |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into dl145h.mysql.com:/data0/mkindahl/mysql-5.0-rpl-merge
| | * | | | Raise version number after cloning 5.0.56unknown2008-02-061-2/+2
| | | | | |
* | | | | | Merge aelkin@bk-internal.mysql.com:/home/bk/mysql-5.0-rplunknown2008-02-142-2/+2
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into mysql1000.dsl.inet.fi:/home/andrei/MySQL/MERGE/5.0-bug33931-assert_write_ignored_ev_when_init_slave_fails
| * | | | | | bug#33329 extraneous ROLLBACK in binlog on connection does not use trans tablesunknown2008-02-142-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | changes for an assert and an updated results file. mysql-test/r/mix_innodb_myisam_binlog.result: results file changed as there is no ROLLBACK query in binlog as it must be. sql/sql_update.cc: refining assert as the initial value of transactional_tables has been changed to zero.
* | | | | | | Merge aelkin@bk-internal.mysql.com:/home/bk/mysql-5.0-rplunknown2008-02-144-4/+90
|\ \ \ \ \ \ \ | |/ / / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into mysql1000.dsl.inet.fi:/home/andrei/MySQL/MERGE/5.0-bug33931-assert_write_ignored_ev_when_init_slave_fails sql/slave.cc: Auto merged
| * | | | | | Bug #33931 assertion at write_ignored_events_info_to_relay_log if ↵unknown2008-02-134-4/+90
| | |/ / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | init_slave_thread() fails and bug#33932 assertion at handle_slave_sql if init_slave_thread() fails the asserts were caused by bug33931: having thd deleted at time of executing err: code plus a missed initialization; bug33932: initialization of slave_is_running member was missed; fixed with relocating mi members initialization and removing delete thd It is safe to do as deletion happens later explicitly in the caller of init_slave_thread(). Todo: at merging the test is better to be moved into suite/bugs for 5.x (when x>0). sql/slave.cc: adding the bugs simulating code; relocating some assignments to satisfy the asserts; mysql-test/r/rpl_bug33931.result: the new result file mysql-test/t/rpl_bug33931-slave.opt: option to spark the simulation code mysql-test/t/rpl_bug33931.test: tests check that slave does not crash as before. Slave threads must be in NO running state in the end.
* | | | | | Merge ↵unknown2008-02-123-7/+3
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | mysql1000.dsl.inet.fi:/home/andrei/MySQL/FIXES/5.0/bug34427-rpl_vars_warn_slave_err into mysql1000.dsl.inet.fi:/home/andrei/MySQL/MERGE/pushed.mysql-5.0-rpl-bug33329-extra_rollback
| * \ \ \ \ \ Merge ↵unknown2008-02-121-4/+0
| |\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | mysql1000.dsl.inet.fi:/home/andrei/MySQL/FIXES/5.0/bug32790-assert_mdel_norm_tables into mysql1000.dsl.inet.fi:/home/andrei/MySQL/MERGE/pushed.mysql-5.0-rpl-bug33329-extra_rollback
| | * | | | | | Bug #32790 crash in trigger.test with InnoDB for a tableunknown2008-02-041-4/+0
| | | |_|_|_|/ | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | the reason for the failure were incorrect asserts. Removing asserts altogether as there is no the implication does not hold (as explained in the comments for the file). sql/sql_delete.cc: removing two asserts because they can not hold basing on the definition of `normal_tables'. The one does not specify in a non-transactional table, which must be in the list of tables to be deleted, is modified indeed. So, it's possible to have normal_tables == true and deleted == true both but that would be yet a transactional table got modified (and then thd->transaction.stmt.modified_non_trans_table remains false default).
| * | | | | | Merge ↵unknown2008-02-112-3/+3
| |\ \ \ \ \ \ | | |_|_|/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | mysql1000.dsl.inet.fi:/home/andrei/MySQL/FIXES/5.0/bug33329-extra_rollback_when_innodb_in into mysql1000.dsl.inet.fi:/home/andrei/MySQL/MERGE/mysql-5.0-rpl-bug33329-extra_rollback
| | * | | | | Bug#33329 extraneous ROLLBACK in binlog on connection unknown2008-02-042-3/+3
| | |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | does not use trans tables There had been two issues. Rollback statement was recorded in binlog even though a multi-update had not modified any non-transactional table. The reason for this artifact was a false initial value of multi_update::transactional_tables. Yet another artifact that explained on the bug page is that `ha_autocommit_or_rollback' works differently depending on whether a transaction engine has been compiled in. Fixed: with setting multi_update::transactional_tables to zero at initialization time. Multi-update on non-trans table won't cause ROLLBACK in binlog with either compilation option. The 2nd mentioned artifact comprises a self-standing issue (to be reported separately). mysql-test/r/multi_update.result: results changed - there is no ROLLBACK in binlog anymore as it should be sql/sql_update.cc: A wrong assumption on that there were modified transactional table, which is nonsense at the very beginning of the query execution.
* | | | | | bug#34427 slave misses rendezvous in rpl_variablesunknown2008-02-081-0/+7
|/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There was no instruction in the test that enforces the slave successfully connect to the master. The way the test was been written allowed the slave to had been late for rendezvous so that about-connecting time queries to the master failed and are error-logged to had been seen in Warnings of pb. Fixed with adding a sychronization primitive to the test. No test case is possible, observe error logs on pb. Todo: revise need of rpl_report.pl's rules due to failing execution of queries from get_master_verion_and_clock(). Any test should try to use a synchornization primitive like the current fix makes and do not let the slave to miss successful connecting. mysql-test/t/rpl_variables.test: Completing the test's body with a synch macro to not let the slave to miss the successful connecting to the master.
* | | | | Replace windows path separator backslash by unix path separator forwardunknown2008-02-061-7/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | slash in filenames also for Create_file_log_event. client/mysqlbinlog.cc: BUG#34355: mysqlbinlog outputs backslash as path separator for 4.1 binlogs Problem: When the windows version of mysqlbinlog reads 4.1 binlogs containing LOAD DATA INFILE, it outputs backslashes as path separators in filenames. However, the output is typically piped to a client, and client expects forward slashes. Fix: Replace '\\' by '/' in filenames.
* | | | | Bug #34305 show slave status handling segfaults when slave io is aboutunknown2008-02-052-7/+8
| |/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | to leave The artifact was caused by a flaw in concurrent accessing the slave's io thd by the io itself and a handling show slave status thread. Namely, show_master_info did not acquire mi->run_lock mutex that is specified for mi->io_thd member. Fixed with deploying the mutex locking and unlocking. The mutex is kept short time and without interleaving with mi->data_lock mutex. Todo: to report and fix an issue with sys_var_slave_skip_counter::{methods} seem to acquire incorrectly active_mi->rli.run_lock instead of the specified active_mi->rli.data_lock A test case is difficult to compose, so rpl_packet should continue serving as the indicator. sql/slave.cc: implementing a TODO left at 4.1 time: mending access to mi->io_thd with the specified mutex; sql/slave.h: adding a member name to the list of that run_lock guards.
* | | | Updating result file.unknown2008-02-041-8/+11
| | | | | | | | | | | | | | | | | | | | mysql-test/r/rpl_user.result: Result change.
* | | | Fixes to make rpl_user test pass in pushbuild.unknown2008-02-041-3/+9
| | | | | | | | | | | | | | | | | | | | | | | | mysql-test/t/rpl_user.test: Removing redundant reset master and deleting users from master and slave without using binary log.
* | | | Merge cbell@bk-internal.mysql.com:/home/bk/mysql-5.0-rpl-mergeunknown2008-02-011-0/+7
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into mysql_cab_desk.:D:/source/c++/mysql-5.0-rpl-merge
| * | | | BUG#32205 : Replaying statements from mysqlbinlog fails with a syntax error, ↵unknown2008-02-011-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. 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.
* | | | | Again blanking out some numbers in file names that is dependentunknown2008-02-012-8/+19
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | on the context. mysql-test/r/mysqlbinlog.result: Result file change. mysql-test/t/mysqlbinlog.test: Blanking out yet some numbers in file names.
* | | | Fixes to make tests pass in pushbuild.unknown2008-02-012-4/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | Various fixes to make tests pass on Windows.unknown2008-02-013-4/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | Changes to make tests pass on vanilla build.unknown2008-02-011-1/+1
| | | | | | | | | | | | | | | | | | | | mysql-test/t/binlog_start_comment.test: Adding --local-infile=1 to enable local infile for mysql client.
* | | | Merge dl145h.mysql.com:/data0/mkindahl/mysql-5.0unknown2008-01-3153-378/+16548
|\ \ \ \ | |_|/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * | | Changes to fix tests in pushbuild.unknown2008-01-314-3/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | Fixes to make code compile on Windows.unknown2008-01-311-1/+1
| | | | | | | | | | | | | | | | | | | | sql/sql_repl.cc: Adding cast to remove compile error on Windows platform.
| * | | Disabling rpl_transaction test for non-debug builds.unknown2008-01-301-0/+1
| | | | | | | | | | | | | | | | | | | | mysql-test/t/rpl_transaction.test: Test only works for debug build.
| * | | Changes to make tests pass in pushbuild.unknown2008-01-303-7/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | Merge dl145h.mysql.com:/data0/mkindahl/mysql-5.0-rplunknown2008-01-3032-120/+15931
| |\ \ \ | | |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| | * | Merge zhe@bk-internal.mysql.com:/home/bk/mysql-5.0-rplunknown2008-01-301-1/+0
| | |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into mail.hezx.com:/media/sda3/work/mysql/bkwork/bug26489_corruption_in_relay_log/5.0
| | | * | BUG#26489 Corruption in relay logsunknown2008-01-291-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| | * | | update test resultunknown2008-01-291-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | mysql-test/r/rpl_grant.result: update result
| | * | | BUG#33862 completely failed DROP USER statement gets replicatedunknown2008-01-253-7/+115
| | |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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''
| | * | Replace one overlooked return with DBUG_RETURN in function log_loaded_blockunknown2008-01-061-1/+1
| | | |
| | * | Merge mail.hezx.com:/media/sda3/work/mysql/bkwork/bug#32205/5.0unknown2008-01-065-4/+6
| | |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into mail.hezx.com:/media/sda3/work/mysql/bkwork/bug#32205/mysql-5.0-rpl
| | | * | Fixed some test case after push of BUG#32205unknown2008-01-065-4/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | mysql-test/r/binlog_start_comment.result: Drop tables used in the test case when done mysql-test/r/blackhole.result: Mask out file_id in show binlog events output mysql-test/r/case.result: Drop table t2 too if it exists at the start of the test mysql-test/t/blackhole.test: Mask out file_id in show binlog events output mysql-test/t/case.test: Drop table t2 too if it exists at the start of the test
| | * | | Merge mail.hezx.com:/media/sda3/work/mysql/bkwork/bug#28908/5.0unknown2008-01-061-0/+5
| | |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into mail.hezx.com:/media/sda3/work/mysql/bkwork/bug#32205/mysql-5.0-rpl
| | | * | | Add missing include test file for rpl_server_id testunknown2008-01-061-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | mysql-test/include/show_binlog_events2.inc: New BitKeeper file ``mysql-test/include/show_binlog_events2.inc''
| | * | | | Merge mail.hezx.com:/media/sda3/work/mysql/bkwork/bug#32205/5.0unknown2008-01-0624-108/+15799
| | |\ \ \ \ | | | |_|/ / | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | into mail.hezx.com:/media/sda3/work/mysql/bkwork/bug#32205/mysql-5.0-rpl
| | | * | | Merge ssandberg@bk-internal.mysql.com:/home/bk/mysql-5.0-rplunknown2008-01-0210-73/+331
| | | |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into riska.(none):/home/sven/bk/b26395-autocommit-xa/5.0-rpl
| | | | * | | BUG#26395: if crash during autocommit update to transactional table on ↵unknown2007-12-2110-73/+331
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | master, slave fails Now, every transaction (including autocommit transactions) start with a BEGIN and end with a COMMIT/ROLLBACK in the binlog. Added a test case, and updated lots of test case result files. mysql-test/t/rpl_transaction-master.opt: BitKeeper file /home/sven/bk/b26395-autocommit-xa/5.0-rpl/mysql-test/t/rpl_transaction-master.opt mysql-test/t/rpl_transaction-slave.opt: BitKeeper file /home/sven/bk/b26395-autocommit-xa/5.0-rpl/mysql-test/t/rpl_transaction-slave.opt mysql-test/r/mix_innodb_myisam_binlog.result: Updated result file mysql-test/r/multi_update.result: Updated result file mysql-test/r/rpl_transaction.result: New result file for new test case. mysql-test/r/sp_trans_log.result: Updated result file mysql-test/r/variables-big.result: Updated result file mysql-test/t/rpl_transaction.test: New test case. 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.