Commit graph

326 commits

Author SHA1 Message Date
unknown
c0ecd863b8 Bug#8693 Test 'rpl_log_pos' fails sometimes
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.
2007-11-28 10:00:23 +01:00
unknown
30aee30b0d Merge stella.local:/home2/mydev/mysql-5.1-amain
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
2007-11-27 19:29:10 +01:00
unknown
54953ec25c Disabling several tests that fail and reported as errors.
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.
2007-11-27 11:02:00 +01:00
unknown
ec3976ed3e Remove disabling of testcases 2007-11-26 20:05:52 +01:00
unknown
23f2d8739b Moved disabling of tests to the respective suites. 2007-11-26 17:31:53 +01:00
unknown
aa2030d647 Disabling testcases that have warnings that PB cannot handle. 2007-11-26 16:20:37 +01:00
unknown
1121538d75 Bug#32668 - rpl_row_charset_innodb.test 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.
2007-11-23 18:05:45 +01:00
unknown
850fed3e2a Post-merge fixes.
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.
2007-11-23 12:51:14 +01:00
unknown
bfb18f9ad5 WL#3949, second part. Added soft switching of the binlog format (w/o restart a server)
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
2007-11-20 19:55:51 +03:00
unknown
19ef3ae88d Merge dl145h.mysql.com:/data0/mkindahl/mysql-5.1
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.
2007-11-14 11:07:30 +01:00
unknown
296931c1c7 Merge aelkin@bk-internal.mysql.com:/home/bk/mysql-5.1-rpl
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
2007-11-12 14:14:15 +02:00
unknown
f89441226b Bug#32217 rpl_ssl fails with different number of records on master and slave
- 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
2007-11-09 11:16:47 +01:00
unknown
1aa12b229e Fixing some tests to make the replication team tree green.
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.
2007-11-09 09:13:47 +01:00
unknown
dc34f9285f Bug #31170 rpl_innodb_bug28430 fails: varying timing, ports, and log use
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
2007-11-09 10:10:15 +02:00
unknown
4bbdd4a0dd Merge kindahl-laptop.dnsalias.net:/home/bkroot/mysql-5.1-rpl
into  kindahl-laptop.dnsalias.net:/home/bk/b12092-mysql-5.1-rpl
2007-11-08 10:31:51 +01:00
unknown
007b16864f Fixing test case to not print warnings causing a result mismatch for rpl_trigger.
mysql-test/suite/rpl/t/rpl_trigger.test:
  Disabling warnings to prevent different result files for
  MIXED and STATEMENT mode.
2007-11-08 09:25:03 +01:00
unknown
5aafeb3f0a Merge kindahl-laptop.dnsalias.net:/home/bkroot/mysql-5.1-rpl
into  kindahl-laptop.dnsalias.net:/home/bk/b28086-mysql-5.1-rpl
2007-11-07 16:11:59 +01:00
unknown
376342f29f Merge mkindahl@bk-internal.mysql.com:/home/bk/mysql-5.1-new-rpl
into  kindahl-laptop.dnsalias.net:/home/bkroot/mysql-5.1-rpl
2007-11-07 11:38:44 +01:00
unknown
cb9af6f8a1 Merge koti.dsl.inet.fi:/home/elkin/MySQL/TEAM/FIXES/5.0/bug27571_asyn_killed_flags
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
2007-11-06 20:41:06 +02:00
unknown
657dca9367 BUG#12092 (FOUND_ROWS() not replicated):
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''
2007-11-06 17:51:32 +01:00
unknown
da0684362f Merge mkindahl@bk-internal.mysql.com:/home/bk/mysql-5.1-new-rpl
into  kindahl-laptop.dnsalias.net:/home/bkroot/mysql-5.1-rpl
2007-11-06 09:46:15 +01:00
unknown
dedbb5b1c3 Merge bk-internal:/home/bk/mysql-5.1-rpl
into  pilot.mysql.com:/data/msvensson/mysql/mysql-5.1-rpl
2007-11-02 09:46:53 +01:00
unknown
f75923b1b9 disable tests
BitKeeper/etc/ignore:
  Added libmysql_r/client_settings.h to the ignore list
2007-11-01 12:02:41 +01:00
unknown
8011819ad1 Merge whalegate.ndb.mysql.com:/home/tomas/mysql-5.1
into  whalegate.ndb.mysql.com:/home/tomas/mysql-5.1-new-ndb-merge
2007-11-01 11:33:04 +01:00
unknown
cc0e546567 BUG#28086 (SBR of USER() becomes corrupted on slave):
Marking statements containing USER() or CURRENT_USER() as unsafe, causing
them to switch to using row-based logging in MIXED mode and generate a
warning in STATEMENT mode.


mysql-test/suite/rpl/r/rpl_switch_stm_row_mixed.result:
  Result change.
mysql-test/suite/rpl/t/rpl_switch_stm_row_mixed.test:
  Adding test to check that USER() and CURRENT_USER() cause a switch
  to row-based logging.
sql/sql_yacc.yy:
  Setting statements containing USER() or CURRENT_USER() to be unsafe.
2007-10-31 21:09:52 +01:00
unknown
d2048efb85 Post-merge fixes to handle some test failures.
mysql-test/suite/rpl/r/rpl_innodb_bug28430.result:
  Result file change.
mysql-test/suite/rpl/t/rpl_innodb_bug28430.test:
  Include file show_slave_status.inc should be used for portable SHOW SLAVE STATUS.
2007-10-31 10:45:31 +01:00
unknown
44dc5049ac Merge kindahl-laptop.dnsalias.net:/home/bkroot/mysql-5.1-rpl
into  kindahl-laptop.dnsalias.net:/home/bk/b19958-mysql-5.1-rpl


sql/log_event.cc:
  Auto merged
2007-10-30 21:23:53 +01:00
unknown
eb191861e3 BUG#19958 (RBR idempotency issue for UPDATE and DELETE):
The rpl_trigger test case indicated a problem with idempotency support when run
under row-based replication, which this patch fixes.

However, despite this, the test is not designed for execution under row-based
replication and hence rpl_trigger.test is not executed under row-based
replication.

The problem is that the test expects triggers to be executed when the slave
updates rows on the slave, and this is (deliberately) not done with row-based
replication.


sql/log_event.cc:
  Adding function to print symbolic name of handler errors for debug purposes.
  Ignoring some more error messages to provide full idempotency support for
  update and delete operations.
mysql-test/suite/rpl/r/rpl_idempotency.result:
  New BitKeeper file ``mysql-test/suite/rpl/r/rpl_idempotency.result''
mysql-test/suite/rpl/t/rpl_idempotency.test:
  New BitKeeper file ``mysql-test/suite/rpl/t/rpl_idempotency.test''
2007-10-30 21:17:19 +01:00
unknown
c84d4b2139 Merge whalegate.ndb.mysql.com:/home/tomas/cge-5.1
into  whalegate.ndb.mysql.com:/home/tomas/mysql-5.1-new-ndb-merge


mysql-test/suite/rpl/r/rpl_bug31076.result:
  Auto merged
sql/ha_ndbcluster.cc:
  Auto merged
sql/handler.cc:
  Auto merged
sql/log_event.cc:
  Auto merged
sql/sql_update.cc:
  Auto merged
storage/ndb/include/ndbapi/Ndb.hpp:
  Auto merged
mysql-test/suite/rpl/t/rpl_bug31076.test:
  manual merge
2007-10-30 11:28:19 +01:00
unknown
200f0531ef Merge koti.dsl.inet.fi:/home/elkin/MySQL/TEAM/FIXES/5.0/bug27571_asyn_killed_flags
into  koti.dsl.inet.fi:/home/elkin/MySQL/5.1-merge-bug27571


client/mysql.cc:
  Auto merged
mysql-test/r/ctype_euckr.result:
  Auto merged
mysql-test/r/ctype_uca.result:
  Auto merged
mysql-test/suite/binlog/r/binlog_killed.result:
  Auto merged
mysql-test/suite/binlog/t/binlog_killed.test:
  Auto merged
sql/item_cmpfunc.cc:
  Auto merged
sql/log_event.cc:
  Auto merged
sql/log_event.h:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/sp_head.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
strings/ctype-euc_kr.c:
  Auto merged
mysql-test/suite/rpl/r/rpl_sp_effects.result:
  manual merge ul
mysql-test/suite/rpl/t/rpl_sp_effects.test:
  manual merge
sql/slave.cc:
  leaving for manual merge
sql/sql_delete.cc:
  leaving for manual merge
sql/sql_insert.cc:
  leaving for manual merge
sql/sql_load.cc:
  leaving for manual merge
sql/sql_update.cc:
  leaving for manual merge
2007-10-30 11:31:03 +02:00
unknown
a3b60d2d51 Merge abarkov@bk-internal.mysql.com:/home/bk/mysql-5.1
into  mysql.com:/home/bar/mysql-work/mysql-5.1-new-rpl-merge


client/mysql.cc:
  Auto merged
mysql-test/r/ctype_euckr.result:
  Auto merged
mysql-test/r/ctype_uca.result:
  Auto merged
mysql-test/r/ctype_utf8.result:
  Auto merged
mysql-test/r/func_regexp.result:
  Auto merged
mysql-test/suite/rpl/r/rpl_bug31076.result:
  Auto merged
mysql-test/t/ctype_utf8.test:
  Auto merged
mysql-test/t/func_regexp.test:
  Auto merged
mysql-test/t/partition.test:
  Auto merged
sql/field.cc:
  Auto merged
sql/field.h:
  Auto merged
sql/handler.cc:
  Auto merged
sql/item_cmpfunc.cc:
  Auto merged
sql/item_cmpfunc.h:
  Auto merged
sql/item_xmlfunc.cc:
  Auto merged
sql/log.cc:
  Auto merged
sql/log.h:
  Auto merged
sql/log_event.cc:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/sp_head.cc:
  Auto merged
sql/sql_class.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_delete.cc:
  Auto merged
sql/sql_insert.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_repl.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
strings/ctype-euc_kr.c:
  Auto merged
sql/sql_yacc.yy:
  Reverting Rafal's changes: TRANSACTIONAL_SYM was removed in a mistake.
mysql-test/r/ctype_ucs.result:
  After merge fix
mysql-test/suite/rpl/t/rpl_bug31076.test:
  After merge fix.
mysql-test/t/ctype_ucs.test:
  After megre fix
2007-10-30 12:03:34 +04:00
unknown
a861c70d6b Merge trift2.:/MySQL/M51/mysql-5.1
into  trift2.:/MySQL/M51/push-5.1


configure.in:
  Auto merged
mysql-test/suite/funcs_1/r/innodb__datadict.result:
  Auto merged
mysql-test/suite/funcs_1/r/memory__datadict.result:
  Auto merged
mysql-test/suite/funcs_1/r/myisam__datadict.result:
  Auto merged
mysql-test/r/partition.result:
  Ensure test for bug number 27816 is in the merged tree.
mysql-test/t/partition.test:
  Ensure test for bug number 27816 is in the merged tree.
2007-10-29 12:56:48 +01:00
unknown
1b56c5d730 Bug#28772 rpl_row_until fails in pushbuild
mysql-test/suite/rpl/t/rpl_row_until.test:
     - Add a "wait_for_slave_to_stop.inc" after the two "stop slave"
       commands after wich we want to show the slaves status
mysql-test/suite/rpl/t/rpl_stm_until.test:
     - Add a "wait_for_slave_to_stop.inc" after the two "stop slave"
       commands after wich we want to show the slaves status
2007-10-26 16:11:20 +02:00
unknown
e70e532674 Merge aelkin@bk-internal.mysql.com:/home/bk/mysql-5.1-rpl
into  koti.dsl.inet.fi:/home/elkin/MySQL/TEAM/FIXES/5.1/bug30594-rpl.rpl_skip_error_is_nondeterministic
2007-10-25 19:28:38 +03:00
unknown
06e82cb855 Merge kindahl-laptop.dnsalias.net:/home/bkroot/mysql-5.1-rpl
into  kindahl-laptop.dnsalias.net:/home/bk/b24860-mysql-5.1-rpl


sql/log_event.cc:
  Auto merged
sql/log_event.h:
  Auto merged
sql/slave.cc:
  Auto merged
2007-10-24 16:54:18 +02:00
unknown
4a08f39214 BUG#31702 (Missing row on slave causes assertion failure under row-based
replication):

Incremental patch to enable idempotency support for update events again.
The final handling of errors will be done in BUG#31609, and until then
the handling of errors should be consistent between the different types
of changes.


mysql-test/suite/rpl/r/rpl_row_basic_11bugs.result:
  Result change.
mysql-test/suite/rpl/r/rpl_temporary_errors.result:
  Result change.
mysql-test/suite/rpl/t/rpl_row_basic_11bugs.test:
  Changing test to assume idempotency handling of update event.
mysql-test/suite/rpl/t/rpl_temporary_errors.test:
  Changing test to assume idempotency handling of update event.
sql/log_event.cc:
  Incremental patch to enable idempotency support for the update events again.
  The real error handling will be implemented in BUG#31609.
2007-10-24 16:02:37 +02:00
unknown
ba7570b110 Bug #30594 rpl.rpl_skip_error is nondeterministic
Non-determinism in the tests was due to results of SBR are different from those gained
with row binlog format.

Because tests effectively verify skipping only ER_DUP_ENTRY it is explicitly required
to run the test on in mixed and stmt binlog format.
ER_DUP_ENTRY is automatically ignored when happened in RBR because of implicit rule
favoring reentrant reading from binlog rule
which means that a Write_rows_log_event overwrites a slave's row
if the one has the same primary key.

If future we might have skipping error due to applying of row-based events.
The comments added saying a new file would be needed for that: rpl_row_skip_error or smth.


mysql-test/suite/rpl/r/rpl_skip_error.result:
  new results
mysql-test/suite/rpl/t/rpl_skip_error-slave.opt:
  wrong error code that can not happen in the test removed.
mysql-test/suite/rpl/t/rpl_skip_error.test:
  enforcing the test is to skip only errors due to SBR.
  The current test does not check anything for RBR as ignorable ER_DUP_ENTRY
  does make sense only for SBR.
2007-10-22 21:45:21 +03:00
unknown
82cc70959e Merge kindahl-laptop.dnsalias.net:/home/bkroot/mysql-5.1-rpl
into  kindahl-laptop.dnsalias.net:/home/bk/b28618-mysql-5.1-rpl


mysql-test/suite/rpl_ndb/r/rpl_ndb_extraCol.result:
  Auto merged
sql/log_event.cc:
  Auto merged
sql/log_event.h:
  Auto merged
sql/rpl_rli.h:
  Auto merged
sql/slave.cc:
  Auto merged
2007-10-22 08:50:08 +02:00
unknown
219e6a6438 BUG#24860 (Incorrect SLAVE_TRANSACTION_RETRIES code can result in slave stuck):
If a temporary error occured inside a group on an event that was not the first
event of the group, the slave could get stuck because the retry counter is reset
whenever an event was executed successfully.

This patch only reset the retry counter when an entire group has been successfully
executed, or failed with a non-transient error.


sql/slave.cc:
  Adding debug printouts to every place where Relay_log_info::trans_retries
  is changed and to has_temporary_error() to print the error when returning.
  
  Adding debug variable all_errors_are_temporary_errors to make all errors
  for slave thread temporary errors.
  
  Adding code so that the Relay_log_info::trans_retries is only reset when
  an entire group was sucessfully executed, or a non-temporary error occured.
mysql-test/suite/rpl/r/rpl_temporary_errors.result:
  New BitKeeper file ``mysql-test/suite/rpl/r/rpl_temporary_errors.result''
mysql-test/suite/rpl/t/rpl_temporary_errors-slave.opt:
  New BitKeeper file ``mysql-test/suite/rpl/t/rpl_temporary_errors-slave.opt''
mysql-test/suite/rpl/t/rpl_temporary_errors.test:
  New BitKeeper file ``mysql-test/suite/rpl/t/rpl_temporary_errors.test''
2007-10-20 20:16:12 +02:00
unknown
0b1c0f3173 Bug#31702 (Missing row on slave causes assertion failure under row-based replication):
When replicating an update pair (before image, after image) under row-based
replication, and the before image is not found on the slave, the after image
was not discared, and was hence read as a before image for the next row.
Eventually, this lead to an after image being read outside the block of rows
in the event, causing an assertion to fire.

This patch fixes this by reading the after image in the event that the row
was not found on the slave, adds some extra debug assertion to catch future
errors earlier, and also adds a few non-debug checks to prevent reading
outside the block of the event.


include/my_base.h:
  Adding error code HA_ERR_CORRUPT_EVENT.
mysql-test/suite/rpl/r/rpl_row_basic_11bugs.result:
  Result change.
mysql-test/suite/rpl/t/rpl_row_basic_11bugs.test:
  Adding test to try to use row-based replication to replicate an
  update of a row that doesn't exist on the slave. We should get
  an apropriate error and the slave should stop.
sql/log_event.cc:
  Adding debug printouts. Adding code to Update_rows_log_event::do_exec_row()
  so that the after image is read (and ignored) in the event of an error in
  finding the row. This is necessary so that the second pair of images is
  read correctly for the next update pair.
  
  Changing logic for ignoring errors to not include update events, since
  a "key not found" error or a "record changed" error is not idempotent
  for updates, just for deletes and inserts.
sql/log_event.h:
  Adding debug assertions to check that row reading is within the events block of rows.
2007-10-20 18:19:55 +02:00
unknown
74ef292dc2 BUG#28618 (Skipping into the middle of a group with SQL_SLAVE_SKIP_COUNTER
is possible):

When skipping the beginning of a transaction starting with BEGIN, the OPTION_BEGIN
flag was not set correctly, which caused the slave to not recognize that it was
inside a group. This patch sets the OPTION_BEGIN flag for BEGIN, COMMIT, ROLLBACK,
and XID events. It also adds checks if inside a group before decreasing the
slave skip counter to zero.

Begin_query_log_event was not marked that it could not end a group, which is now
corrected.


mysql-test/extra/rpl_tests/rpl_extraSlave_Col.test:
  Correcting slave skip counter to get the correct behaviour.
mysql-test/suite/rpl/r/rpl_slave_skip.result:
  Result change.
mysql-test/suite/rpl/t/rpl_slave_skip.test:
  Adding tests to check that skipping works for transactions:
  - Skipping one group with BEGIN first
  - Skipping two groups with BEGIN first
  - Skipping one group without BEGIN first but with AUTOCOMMIT=0
  - LOAD DATA INFILE under statement-based replication
mysql-test/suite/rpl_ndb/r/rpl_ndb_extraCol.result:
  Result change.
sql/log_event.cc:
  Adding checks if we're in a group when the slave skip counter is 1.
  In that case, we should keep going.
  
  Adding helping member function Log_event::continue_group() denoting
  that this event cannot end a group, and if the skip counter indicates
  that the group ends after this event, it should not decrease the skip
  counter.
  
  Query_log_event will change the OPTION_BEGIN flag for BEGIN, COMMIT, and
  ROLLBACK, even when skipping because of a positive skip count, and
  Xid_log_event will also affect the OPTION_BEGIN flag, even when being
  skipped.
  
  Begin_load_query_log_event cannot end a group, so it is marked to
  continue the group.
sql/log_event.h:
  Adding helper function Log_event::continue_group().
sql/rpl_rli.h:
  Adding Relay_log_info::get_flag() to get the value of a
  replication flag.
sql/slave.cc:
  Adding debug output and changing debug message.
mysql-test/suite/rpl/data/rpl_bug28618.dat:
  New BitKeeper file ``mysql-test/suite/rpl/data/rpl_bug28618.dat''
mysql-test/suite/rpl/t/rpl_slave_skip-slave.opt:
  New BitKeeper file ``mysql-test/suite/rpl/t/rpl_slave_skip-slave.opt''
2007-10-19 14:18:41 +02:00
unknown
693504ed2e Fix for
Bug#31169 Test case does not check whether configuration contains feature tested


mysql-test/suite/rpl/t/rpl_innodb_bug28430.test:
  Add check for partitioning feature.
mysql-test/suite/rpl/t/rpl_innodb_bug30919.test:
  Add check for partitioning feature.
2007-10-15 17:04:43 +02:00
unknown
7619a5efc6 Merge mkindahl@bk-internal.mysql.com:/home/bk/mysql-5.1-new-rpl
into  kindahl-laptop.dnsalias.net:/home/bkroot/mysql-5.1-rpl


sql/field.cc:
  Auto merged
sql/field.h:
  Auto merged
sql/log_event.cc:
  Auto merged
sql/sql_show.cc:
  Auto merged
sql/rpl_record.cc:
  Manual merge.
2007-10-12 13:24:28 +02:00
unknown
bc2ecae3e8 Merge kindahl-laptop.dnsalias.net:/home/bkroot/mysql-5.1-rpl
into  kindahl-laptop.dnsalias.net:/home/bk/b29549-mysql-5.1-target-5.1.22


mysql-test/suite/rpl/t/disabled.def:
  Auto merged
mysql-test/suite/rpl_ndb/t/disabled.def:
  Auto merged
sql/log.cc:
  Auto merged
sql/rpl_record.cc:
  Auto merged
sql/sql_show.cc:
  Auto merged
BitKeeper/deleted/.del-rpl_ndb_innodb2ndb.result~1:
  Delete: mysql-test/suite/rpl_ndb/r/rpl_ndb_innodb2ndb.result
BitKeeper/deleted/.del-rpl_ndb_myisam2ndb.result~1:
  Delete: mysql-test/suite/rpl_ndb/r/rpl_ndb_myisam2ndb.result
mysql-test/suite/rpl_ndb/t/rpl_ndb_innodb2ndb-slave.opt:
  Manual merge
mysql-test/suite/rpl_ndb/t/rpl_ndb_innodb2ndb.test:
  Manual merge
mysql-test/suite/rpl_ndb/t/rpl_ndb_myisam2ndb-slave.opt:
  Manual merge
mysql-test/suite/rpl_ndb/t/rpl_ndb_myisam2ndb.test:
  Manual merge
sql/log_event.cc:
  Manual merge
sql/field.cc:
  Manual merge and adding comment.
sql/field.h:
  Manual merge.
2007-10-12 09:40:24 +02:00
unknown
06fb8c2d10 BUG#29549 (Endians: test failures on Solaris):
Refactoring code to add parameter to pack() and unpack() functions with
purpose of indicating if data should be packed in little-endian or
native order. Using new functions to always pack data for binary log
in little-endian order. The purpose of this refactoring is to allow
proper implementation of endian-agnostic pack() and unpack() functions.

Eliminating several versions of virtual pack() and unpack() functions
in favor for one single virtual function which is overridden in
subclasses.

Implementing pack() and unpack() functions for some field types that
packed data in native format regardless of the value of the
st_table_share::db_low_byte_first flag.

The field types that were packed in native format regardless are:
Field_real, Field_decimal, Field_tiny, Field_short, Field_medium,
Field_long, Field_longlong, and Field_blob.

Before the patch, row-based logging wrote the rows incorrectly on
big-endian machines where the storage engine defined its own
low_byte_first() to be FALSE on big-endian machines (the default
is TRUE), while little-endian machines wrote the fields in correct
order. The only known storage engine that does this is NDB. In effect,
this means that row-based replication from or to a big-endian
machine where the table was using NDB as storage engine failed if the
other engine was either non-NDB or on a little-endian machine.

With this patch, row-based logging is now always done in little-endian
order, while ORDER BY uses the native order if the storage engine
defines low_byte_first() to return FALSE for big-endian machines.

In addition, the max_data_length() function available in Field_blob
was generalized to the entire Field hierarchy to give the maximum
number of bytes that Field::pack() will write.


mysql-test/extra/rpl_tests/rpl_extraMaster_Col.test:
  Sorting by columns that produces deterministic order.
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/r/rpl_row_extraColmaster_ndb.result:
  Result change.
mysql-test/suite/rpl/t/disabled.def:
  Enabling tests.
mysql-test/suite/rpl/t/rpl_row_mysqlbinlog.test:
  Adding missing sync_slave_with_master causing slave to keep tables
  after shutdown.
mysql-test/suite/rpl_ndb/t/disabled.def:
  Enabling tests.
mysql-test/suite/rpl_ndb/t/rpl_ndb_innodb2ndb-slave.opt:
  Adding --new option
mysql-test/suite/rpl_ndb/t/rpl_ndb_innodb2ndb.test:
  Adding have_log_bin.
mysql-test/suite/rpl_ndb/t/rpl_ndb_myisam2ndb-slave.opt:
  Adding --new option
mysql-test/suite/rpl_ndb/t/rpl_ndb_myisam2ndb.test:
  Adding have_log_bin
mysql-test/t/partition.test:
  Adding have_archive, since that is used in the test.
sql/field.cc:
  Eliminating all two-argument pack() and unpack() functions and moving
  functionality into the four-argument version. The four argument version
  is introduced so that it is possible to avoid using the storage engine
  default when writing and reading the packed format (the unpacked format
  still uses the storage engine's default). This is used by row-based
  replication to write the fields in a storage engine- and endian-agnostic
  format.
  
  Packing integral and floating-point numbers in little-endian format
  (if requested).
  
  Using pad_char for the field instead of spaces (0x20) when unpacking.
  
  Adding some Doxygen documentation.
  ---
  Adding max_data_length() to denote the maximum number of bytes that
  pack() will write.
  
  Adding casts to remove warnings for debug printouts.
sql/field.h:
  Eliminating all virtual pack() and unpack() functions except the four-
  argument version, which now is the function that shall be overridden.
  The two-argument versions are convenience functions, to prevent changes
  to code that uses these.
  
  Adding code to pack integer numbers and floating-point numbers in
  little-endian format, if requested.
  ---
  Adding max_data_length() to denote the maximum number of bytes that
  pack() will write.
sql/log.cc:
  Removing debug printout causing crash when starting NDB on Solaris.
sql/log_event.cc:
  Adding missing #ifndef causing compile failure. Adding debug printouts.
sql/rpl_record.cc:
  Debriding code. Using new pack() and unpack() functions to always pack
  fields little-endian. Adding debug printouts.
  ---
  Using max_data_length() when packing field into row.
  
  Adding casts to debug printouts.
sql/sql_show.cc:
  Adding code that causes crash on Solaris machines since printf() cannot
  handle NULL values for strings properly.
mysql-test/suite/rpl_ndb/r/rpl_ndb_innodb2ndb.result:
  New BitKeeper file ``mysql-test/suite/rpl_ndb/r/rpl_ndb_innodb2ndb.result''
mysql-test/suite/rpl_ndb/r/rpl_ndb_myisam2ndb.result:
  New BitKeeper file ``mysql-test/suite/rpl_ndb/r/rpl_ndb_myisam2ndb.result''
2007-10-11 18:18:05 +02:00
unknown
e8e20954e6 BUG#29046: rpl_stm_mystery22 unstable
Problem: rpl_stm_mystery22 is unstable.

Reason: At one place, the test case *should* wait until the SQL thread on the
slave receives an error, but instead it waits until the SQL thread stops. The
SQL thread may stop before the error flag is set, so that when the test case
continues to execute, the error flag is not set.

Fix: Introduce the subroutine mysql-test/include/wait_for_slave_sql_error.inc,
which waits until there is an error in the sql thread of the slave.

Re-commit: fixed one logical error and two smaller things noted by Mats.


mysql-test/suite/rpl/t/rpl_stm_mystery22.test:
  Use the new wait_for_slave_sql_error.inc instead of wait_for_slave_to_stop.
  There may be a delay from when the slave stops to when Last_SQL_Errno is set,
  so it is not safe to merely wait until the slave stops.
mysql-test/include/wait_for_slave_sql_error.inc:
  New BitKeeper file ``mysql-test/include/wait_for_slave_sql_error.inc''
  This is a subroutine that waits until the sql thread on the slave receives an
  error, as indicated by Last_SQL_Errno in "SHOW SLAVE STATUS".
2007-10-10 18:10:54 +02:00
unknown
15c04ead97 .del-rpl_stm_extraColmaster_ndb.test~5ac81fa1ec366ba:
Delete: mysql-test/suite/rpl/t/rpl_stm_extraColmaster_ndb.test
.del-rpl_row_extraColmaster_ndb.result~a2c64bae75b49d2:
  Delete: mysql-test/suite/rpl/r/rpl_row_extraColmaster_ndb.result
.del-rpl_row_extraColmaster_ndb.test~523b0954869c4423:
  Delete: mysql-test/suite/rpl/t/rpl_row_extraColmaster_ndb.test
Many files:
  merged and cleanup of test cases


BitKeeper/deleted/.del-rpl_row_extraColmaster_ndb.test~523b0954869c4423:
  Delete: mysql-test/suite/rpl/t/rpl_row_extraColmaster_ndb.test
BitKeeper/deleted/.del-rpl_stm_extraColmaster_ndb.test~5ac81fa1ec366ba:
  Delete: mysql-test/suite/rpl/t/rpl_stm_extraColmaster_ndb.test
BitKeeper/deleted/.del-rpl_row_extraColmaster_ndb.result~a2c64bae75b49d2:
  Delete: mysql-test/suite/rpl/r/rpl_row_extraColmaster_ndb.result
mysql-test/suite/rpl/r/rpl_extraColmaster_innodb.result:
  merged and cleanup of test cases
mysql-test/suite/rpl/r/rpl_extraColmaster_myisam.result:
  merged and cleanup of test cases
mysql-test/suite/rpl/t/rpl_extraColmaster_innodb.test:
  merged and cleanup of test cases
mysql-test/suite/rpl/t/rpl_extraColmaster_myisam.test:
  merged and cleanup of test cases
mysql-test/extra/rpl_tests/rpl_extraMaster_Col.test:
  merged and cleanup of test cases
2007-10-10 16:43:20 +02:00
unknown
1f3caac297 rpl_bug31076.test, rpl_bug31076.result:
Correcting test bug


mysql-test/suite/rpl/r/rpl_bug31076.result:
  Correcting test bug
mysql-test/suite/rpl/t/rpl_bug31076.test:
  Correcting test bug
2007-10-10 14:18:34 +02:00
unknown
2dd78add6b Merge mysql.com:/home/gluh/MySQL/Merge/5.1
into  mysql.com:/home/gluh/MySQL/Merge/5.1-opt


libmysql/libmysql.c:
  Auto merged
mysql-test/include/mix1.inc:
  Auto merged
mysql-test/r/innodb_mysql.result:
  Auto merged
sql/field.cc:
  Auto merged
sql/ha_partition.cc:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
2007-10-10 14:33:46 +05:00
unknown
9c46621dca Merge mysql.com:/home/gluh/MySQL/Merge/5.0-opt
into  mysql.com:/home/gluh/MySQL/Merge/5.1-opt


sql/item_timefunc.h:
  Auto merged
mysql-test/suite/rpl/r/rpl_flushlog_loop.result:
  Auto merged
sql/set_var.cc:
  manual merge.
mysql-test/r/view.result:
  manual merge
mysql-test/suite/rpl/t/rpl_flushlog_loop.test:
  manual merge
mysql-test/t/view.test:
  manual merge
2007-10-10 12:37:06 +05:00