- 28 Mar, 2008 2 commits
-
-
unknown authored
improving a test that shows a failure. the wait condition was for data in tables but the log positions are updates after the data are unlocked. So there was a time window [after_table_unlock_for_select, log_pos_updated] where the orig cond was true but log position might be changed. the correct one is to expect the last pos of the slave's insert in the output of show_slave_status on the master. mysql-test/suite/rpl/t/rpl_flushlog_loop.test: refining a sychronization condition (2 times)
-
unknown authored
refining a test for embedded env. mysql-test/suite/binlog/t/binlog_auto_increment_bug33029.test: test must ensure there is binlog capability on the server
-
- 27 Mar, 2008 1 commit
-
-
unknown authored
mysql-test/suite/binlog/r/binlog_auto_increment_bug33029.result: clean up objects used by test mysql-test/suite/binlog/t/binlog_auto_increment_bug33029.test: clean up objects used by test
-
- 26 Mar, 2008 1 commit
-
-
unknown authored
into mail.hezx.com:/media/sda3/work/mysql/bkwork/b33029_5.0_to_5.1_fails_on_dup_key/5.1 sql/slave.cc: Auto merged sql/slave.h: Auto merged sql/sql_class.cc: Auto merged sql/sql_class.h: Auto merged
-
- 25 Mar, 2008 3 commits
-
-
unknown authored
into pilot.mysql.com:/data/msvensson/mysql/mysql-5.1-rpl
-
unknown authored
mysql-test/mysql-test-run.pl: Group all code to find extra suites together Fix problem with infinite loop by using splitdir to split the path Use a hash to map clone name -> extr suite
-
unknown authored
into pilot.mysql.com:/data/msvensson/mysql/mysql-5.1-rpl
-
- 14 Mar, 2008 3 commits
-
-
unknown authored
into dl145h.mysql.com:/data0/mkindahl/mysql-5.1-rpl mysql-test/suite/binlog/r/binlog_unsafe.result: Auto merged mysql-test/suite/binlog/t/binlog_unsafe.test: Auto merged
-
unknown authored
mysql-test/extra/rpl_tests/rpl_loaddata.test: Removing SHOW MASTER STATUS that does not seem to make sense. mysql-test/extra/rpl_tests/rpl_log.test: Correcting test case to sync slave with master. mysql-test/suite/binlog/r/binlog_unsafe.result: Result change. mysql-test/suite/binlog/t/binlog_unsafe.test: Removing unsafe variable from list of safe variables. mysql-test/suite/rpl/r/rpl_loaddata.result: Result change. mysql-test/suite/rpl/r/rpl_skip_error.result: Result change. mysql-test/suite/rpl/t/rpl_skip_error.test: Correcting bad manual+automatic merge. Test is now only relevant for statement- based replication. sql/rpl_rli.cc: Correcting automerge undoing previous change of return value. Relay_log_info::wait_for_pos() should return -2 when not initialized to work correctly.
-
unknown authored
using a trig in SP For all 5.0 and up to 5.1.12 exclusive, when a stored routine or trigger caused an INSERT into an AUTO_INCREMENT column, the generated AUTO_INCREMENT value should not be written into the binary log, which means if a statement does not generate AUTO_INCREMENT value itself, there will be no Intvar event (SET INSERT_ID) associated with it even if one of the stored routine or trigger caused generation of such a value. And meanwhile, when executing a stored routine or trigger, it would ignore the INSERT_ID value even if there is a INSERT_ID value available set by a SET INSERT_ID statement. Starting from MySQL 5.1.12, the generated AUTO_INCREMENT value is written into the binary log, and the value will be used if available when executing the stored routine or trigger. Prior fix of this bug in MySQL 5.0 and prior MySQL 5.1.12 (referenced as the buggy versions in the text below), when a statement that generates AUTO_INCREMENT value by the top statement was executed in the body of a SP, all statements in the SP after this statement would be treated as if they had generated AUTO_INCREMENT by the top statement. When a statement that did not generate AUTO_INCREMENT value by the top statement but by a function/trigger called by it, an erroneous Intvar event would be associated with the statement, this erroneous INSERT_ID value wouldn't cause problem when replicating between masters and slaves of 5.0.x or prior 5.1.12, because the erroneous INSERT_ID value was not used when executing functions/triggers. But when replicating from buggy versions to 5.1.12 or newer, which will use the INSERT_ID value in functions/triggers, the erroneous value will be used, which would cause duplicate entry error and cause the slave to stop. The patch for 5.1 fixed it to ignore the SET INSERT_ID value when executing functions/triggers if it is replicating from a master of buggy versions, another patch for 5.0 fixed it not to generate the erroneous Intvar event. mysql-test/include/show_binlog_events.inc: add $binlog_start parameter to show binlog events from a given position sql/slave.cc: Add function to check for bug#33029 sql/slave.h: Add function to check for bug#33029 sql/sql_class.cc: if master has bug#33029, reset auto_inc_intervals_forced for sub statements add a new function Discrete_intervals_list::append that takes a Discrete_interval as argument sql/sql_class.h: Add member to save and restore auto_inc_intervals_forced sql/structs.h: add copy constructor and assignment operator for Discrete_intervals_list add a new function Discrete_intervals_list::append that takes a Discrete_interval as argument mysql-test/std_data/bug33029-slave-relay-bin.000001: relay logs from a buggy 5.0 master for test case of BUG#33029 mysql-test/suite/binlog/r/binlog_auto_increment_bug33029.result: Test if the slave can process relay logs from a buggy master of BUG#33029 mysql-test/suite/binlog/t/binlog_auto_increment_bug33029-master.opt: Test if the slave can process relay logs from a buggy master of BUG#33029 mysql-test/suite/binlog/t/binlog_auto_increment_bug33029.test: Test if the slave can process relay logs from a buggy master of BUG#33029
-
- 12 Mar, 2008 1 commit
-
-
unknown authored
into dl145h.mysql.com:/data0/mkindahl/mysql-5.1-rpl mysql-test/suite/rpl/r/rpl_loaddata.result: Auto merged mysql-test/suite/rpl/r/rpl_master_pos_wait.result: Auto merged mysql-test/suite/rpl/r/rpl_slave_status.result: Auto merged mysql-test/suite/rpl/t/rpl_master_pos_wait.test: Auto merged mysql-test/suite/rpl/t/rpl_temporary.test: Auto merged mysql-test/suite/rpl/t/rpl_loaddata.test: Manual merge. The rpl_loaddata.test file was moved on 5.1 by editing the file to include the file at the new location. This causes conflicts when merging, since the changes will not propagate to the moved file. sql/slave.cc: Manual merge. mysql-test/suite/rpl/t/rpl_skip_error.test: Manual merge. mysql-test/suite/rpl/t/rpl_slave_status.test: Manual merge.
-
- 11 Mar, 2008 1 commit
-
-
unknown authored
Problem: rpl_variables_stm.test used a character set and a collation which are not included on all platforms. Fix: replace the character set and collation by ones that are included on all platforms. (rpl_variables_stm does not rely on which character set is used, the only important aspect is the fact that it changes.) mysql-test/suite/rpl/r/rpl_variables_stm.result: Updated result file. mysql-test/suite/rpl/t/rpl_variables_stm.test: Changed test to get rid of pushbuild errors.
-
- 10 Mar, 2008 2 commits
-
-
unknown authored
The reason is that we are using a sleep to wait for slave to reach the slave_transaction_retries limit. Fix: wait for the slave to stop instead. This is what we want to do, since the slave stops when the limit is reached.
-
unknown authored
safe. Fix: Move sql_mode: from the section of the test where safe variables are tested, to the section where unsafe variables are tested. mysql-test/suite/binlog/r/binlog_unsafe.result: Updated result file of modified test.
-
- 07 Mar, 2008 3 commits
-
-
unknown authored
Affected tests fixing. After the fix for st_relay_log_info::wait_for_pos() that handles widely used select('master-bin.xxxx',pos) invoked by mysqltest there appeared to be four tests that either tried synchronizing when the slave was stopped or used incorrect synchronization method like to call `sync_with_master' from the current connection being to the master itself. Fixed with correcting the current connection or/and using the correct synchronization macro when possible. mysql-test/r/rpl_loaddata.result: results changed mysql-test/r/rpl_slave_status.result: results changed mysql-test/t/rpl_loaddata.test: fixing cleanup for two tests mysql-test/t/rpl_skip_error.test: fixing cleanup for two tests mysql-test/t/rpl_slave_status.test: fixing cleanup mysql-test/t/rpl_temporary.test: fixing synchronizations to use the intended correct macro.
-
unknown authored
Problem: in mixed and statement mode, a query that refers to a system variable will use the slave's value when replayed on slave. So if the value of a system variable is inserted into a table, the slave will differ from the master. Fix: mark statements that refer to a system variable as "unsafe", meaning they will be replicated by row in mixed mode and produce a warning in statement mode. There are some exceptions: some variables are actually replicated. Those should *not* be marked as unsafe. BUG#34732: mysqlbinlog does not print default values for auto_increment variables Problem: mysqlbinlog does not print default values for some variables, including auto_increment_increment and others. So if a client executing the output of mysqlbinlog has different default values, replication will be wrong. Fix: Always print default values for all variables that are replicated. I need to fix the two bugs at the same time, because the test cases would fail if I only fixed one of them. include/m_ctype.h: Added definition of ILLEGAL_CHARSET_INFO_NUMBER. We just need a symbol for a number that will never be used by any charset. ~0U should be safe since charset numbers are sequential, starting from 0. mysql-test/include/commit.inc: Upated test to avoid making statements unsafe. mysql-test/r/commit_1innodb.result: Updated test needs updated result file. mysql-test/r/mysqlbinlog.result: Updated result file. mysql-test/r/mysqlbinlog2.result: Updated result file. mysql-test/r/user_var-binlog.result: Updated result file. mysql-test/suite/binlog/r/binlog_base64_flag.result: Updated result file. mysql-test/suite/binlog/r/binlog_stm_ctype_ucs.result: Updated result file. mysql-test/suite/binlog/r/binlog_unsafe.result: Modified test file needs modified result file. mysql-test/suite/binlog/t/binlog_base64_flag.test: Need to filter out pseudo_thread_id from result since it is nondeterministic. mysql-test/suite/binlog/t/binlog_unsafe.test: Add tests that using variables is unsafe. The 'CREATE VIEW' tests didn't make sense, so I removed them. SHOW WARNINGS is not necessary either, because we get warnings for each statement in the result file. mysql-test/suite/rpl/r/rpl_row_mysqlbinlog.result: Updated result file. mysql-test/suite/rpl/r/rpl_skip_error.result: Updated result file. mysql-test/suite/rpl/t/rpl_skip_error.test: The test used @@server_id, which is not safe to replicate, so it would have given a warning. The way it used @@server_id was hackish (issue a query on master that removes rows only on master), so I replaced it by a more robust way to do the same thing (connect to slave and insert the rows only there). Also clarified what the test case does. mysql-test/t/mysqlbinlog2.test: Use --short-form instead of manually filtering out nondeterministic stuff from mysqlbinlog (because we added the nondeterministic @@pseudo_thread_id to the output). sql/item_func.cc: Added method of Item_func_get_system_var that indicates whether the given system variable will be written to the binlog or not. sql/item_func.h: Added method of Item_func_get_system_var that indicates whether the given system variable will be written to the binlog or not. sql/log_event.cc: - auto_increment_offset was not written to the binlog if auto_increment_increment=1 - mysqlbinlog did not output default values for some variables (BUG#34732). In st_print_event_info, we remember for each variable whether it has been printed or not. This is achieved in different ways for different variables: - For auto_increment_*, lc_time_names, charset_database_number, we set the default values in st_print_event_info to something illegal, so that it will look like they have changed the first time they are seen. - For charset, sql_mode, pseudo_thread_id, we add a flag to st_print_event_info which indicates whether the variable has been printed. - Since pseudo_thread_id is now printed more often, and its value is not guaranteed to be constant across different runs of the same test script, I replaced it by a constant if --short-form is used. - Moved st_print_event_info constructor from log_event.h to log_event.cc, since it now depends on ILLEGAL_CHARSET_NUMBER, which is defined in m_ctype.h, which is better to include from a .cc file than from a header file. sql/log_event.h: Added fields to st_print_event_info that indicate whether some of the variables have been written or not. Since the initialization of charset_database_number now depends on ILLEGAL_CHARSET_INFO_NUMBER, which is defined in a header file, which we'd better not include from this header file -- I moved the constructor from here to log_event.cc. sql/set_var.cc: System variables now have a flag binlog_status, which indicates if they are written to the binlog. If nothing is specified, all variables are marked as not written to the binlog (NOT_IN_BINLOG) when created. In this file, the variables that are written to the binlog are marked with SESSION_VARIABLE_IN_BINLOG. sql/set_var.h: Added flag binlog_status to class sys_var. Added a getter and a constructor parameter that sets it. Since I had to change sys_var_thd_enum constructor anyways, I simplified it to use default values of arguments instead of three copies of the constructor. sql/sql_yacc.yy: Mark statements that refer to a system variable as "unsafe", meaning they will be replicated by row in mixed mode. Added comment to explain strange piece of code just above. mysql-test/include/diff_tables.inc: New auxiliary test file that tests whether two tables (possibly one on master and one on slave) differ. mysql-test/suite/rpl/r/rpl_variables.result: New test case needs new result file. mysql-test/suite/rpl/r/rpl_variables_stm.result: New test file needs new result file. mysql-test/suite/rpl/t/rpl_variables.test: Test that INSERT of @@variables is replicated correctly (by switching to row-based mode). mysql-test/suite/rpl/t/rpl_variables_stm.test: Test that replication of @@variables which are replicated explicitly works as expected in statement mode (without giving warnings).
-
unknown authored
merging and post-make-test changes. mysql-test/suite/rpl/r/rpl_report.result: results changed mysql-test/suite/rpl/t/rpl_report.test: correcting test because of non-deterministic select's result sql/set_var.cc: compilation issue
-
- 06 Mar, 2008 5 commits
-
-
unknown authored
Merge mysql1000.(none):/home/andrei/MySQL/FIXES/5.1/bug22234-Extra_Slave_Col_Slave_should_stop_on_Error_Field into mysql1000.(none):/home/andrei/MySQL/MERGE/5.1 sql/log_event.cc: manual merge
-
unknown authored
into mysql1000.(none):/home/andrei/MySQL/MERGE/5.1 sql/set_var.cc: Auto merged
-
unknown authored
There was a failure in that show slave status displayed a wrong message when slave stopped at processing a row event inserting to a default-less column. The problem seem to have ceased after recent fixes in rbr code. However, the test was not updated to carry testing of the case commented-out. Uncommenting and editing the test. Notice, Bug#23907 is most probably a duplicate of this one. mysql-test/extra/rpl_tests/rpl_extraSlave_Col.test: uncommenting the test that previously failed. mysql-test/suite/rpl/r/rpl_extraCol_innodb.result: results changed due to the correct expected error message of an added test is displayed. mysql-test/suite/rpl/r/rpl_extraCol_myisam.result: results changed to reflect the test changes mysql-test/suite/rpl_ndb/r/rpl_ndb_extraCol.result: results changed to reflect the uncommented test sql/log_event.cc: correcting of a merge with bug#12713 to use the correct object holding the error code.
-
unknown authored
MASTER_POS_WAIT return values are different than expected when the server is not a slave. It returns -1 instead of NULL. Fixed with correcting st_relay_log_info::wait_for_pos() to return the proper value in the case of rli info is not inited. mysql-test/r/rpl_master_pos_wait.result: results changed mysql-test/t/rpl_master_pos_wait.test: the new test to check that select master_pos_wait() to a server does not have master info returns NULL as specified. sql/slave.cc: changing the return value to correspond the specification.
-
unknown authored
into pilot.mysql.com:/data/msvensson/mysql/mysql-5.1-rpl client/mysqltest.c: Auto merged mysql-test/t/disabled.def: Auto merged
-
- 05 Mar, 2008 6 commits
-
-
unknown authored
mysql-test/suite/binlog/r/binlog_unsafe.result: Result change. mysql-test/suite/binlog/t/binlog_unsafe.test: Dropping view created in test.
-
unknown authored
mysql-test/suite/binlog/r/binlog_row_mix_innodb_myisam.result: Result file change.
-
unknown authored
There was no way to see if report-{host,port,user,password} were set up. Fixed with introducing new global variables. The variables are made read-only because of a possible need to change them most probably require the slave server restart. Todo: transform the startup options to be CHANGE master parameters - i.e to deprecate `report-' options, and to change the new vars to be updatable at time of CHANGE master executes with new values. sql/set_var.cc: Adding associations of the server init arguments with the new global read-only variables. mysql-test/suite/rpl/r/rpl_report.result: new results file mysql-test/suite/rpl/t/rpl_report-slave.opt: options initialize the new global variables. mysql-test/suite/rpl/t/rpl_report.test: The new test to check SHOW-ability and SELECT-ablity for the report global vars.
-
unknown authored
into dl145h.mysql.com:/data0/mkindahl/mysql-5.1-rpl
-
unknown authored
into dl145h.mysql.com:/data0/mkindahl/mysql-5.1-rpl mysql-test/r/mysqldump.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/t/mysqldump.test: Auto merged sql/log.cc: Auto merged sql/slave.cc: Auto merged sql/sql_class.h: Auto merged sql/sql_delete.cc: Auto merged sql/handler.cc: Manual merge. sql/sql_update.cc: Manual merge.
-
unknown authored
into dl145h.mysql.com:/data0/mkindahl/mysql-5.0-rpl
-
- 04 Mar, 2008 4 commits
-
-
unknown authored
into dl145h.mysql.com:/data0/mkindahl/mysql-5.1-rpl mysql-test/r/mysqldump.result: Manual merge. mysql-test/t/mysqldump.test: Manual merge.
-
unknown authored
into pilot.mysql.com:/data/msvensson/mysql/mysql-5.1
-
unknown authored
into dl145h.mysql.com:/data0/mkindahl/mysql-5.1-rpl
-
unknown authored
mysql-test/lib/mtr_report.pl: Filtering out benign warning that can be generated during server shutdown.
-
- 03 Mar, 2008 3 commits
- 02 Mar, 2008 2 commits
- 29 Feb, 2008 3 commits
-
-
unknown authored
mysql-test/suite/rpl/t/disabled.def: enable test mysql-test/suite/rpl/t/rpl_drop_temp.test: added sync slave with master mysql-test/suite/rpl/t/rpl_flushlog_loop.test: added sync slave with master
-
unknown authored
into mysql.com:/Users/davi/mysql/mysql-5.1-runtime
-
unknown authored
READ_ONLY token was accidentally placed into wrong place ('ident' rule). The proper place is in the 'keyword_sp' rule. The manual should be re-generated after this patch, because the manual depends on the 'keyword_sp' rule. sql/sql_yacc.yy: Move READ_ONLY token to the 'keyword_sp' rule.
-