Commit graph

2695 commits

Author SHA1 Message Date
unknown
bd00ccb710 Merge jbruehe@bk-internal.mysql.com:/home/bk/mysql-5.1-build
into  trift2.:/MySQL/M51/push-5.1
2007-10-29 23:13:28 +01: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
93265192ce Merge trift2.:/MySQL/M50/mysql-5.0
into  trift2.:/MySQL/M50/push-5.0
2007-10-29 11:55:48 +01:00
unknown
dfdcaf5f01 Fix for
Bug#31857 funcs_1: a_processlist_priv_no_prot and b_processlist_priv_ps fail
  
Reason for the changes is:
  WL4007 Deprecate RENAME DATABASE: replace with ALTER DATABASE <name> UPGRADE


mysql-test/suite/funcs_1/datadict/datadict_priv.inc:
  1. Adjustment to new server response (ER_PARSE_ERROR instead of ER_DBACCESS_DENIED_ERROR)
  2. Add missing subtest with ALTER DATABASE ... UPGRADE ...
mysql-test/suite/funcs_1/r/a_processlist_priv_no_prot.result:
  Updated results
mysql-test/suite/funcs_1/r/b_processlist_priv_ps.result:
  Updated results
2007-10-29 09:31:13 +01:00
unknown
849dec4452 Many files:
Error message numbers.


mysql-test/suite/rpl/r/rpl_extraCol_innodb.result:
  Error message numbers.
mysql-test/suite/rpl/r/rpl_extraCol_myisam.result:
  Error message numbers.
mysql-test/suite/rpl/r/rpl_row_tabledefs_3innodb.result:
  Error message numbers.
2007-10-28 11:30:36 +04:00
unknown
f87732eae9 rpl_row_tabledefs_2myisam.result, sp.result, rpl_row_colSize.result:
Error message numbers.


mysql-test/suite/rpl/r/rpl_row_colSize.result:
  Error message numbers.
mysql-test/suite/rpl/r/rpl_row_tabledefs_2myisam.result:
  Error message numbers.
mysql-test/r/sp.result:
  Error message numbers.
2007-10-28 02:09:24 +04:00
unknown
130f9b9f50 Many files:
Error message numbers.


mysql-test/r/binlog_unsafe.result:
  Error message numbers.
mysql-test/r/events_bugs.result:
  Error message numbers.
mysql-test/r/events_trans.result:
  Error message numbers.
mysql-test/r/sp_gis.result:
  Error message numbers.
mysql-test/r/xml.result:
  Error message numbers.
mysql-test/suite/rpl/r/rpl_incident.result:
  Error message numbers.
mysql-test/suite/rpl/r/rpl_loaddata_fatal.result:
  Error message numbers.
mysql-test/suite/rpl/r/rpl_udf.result:
  Error message numbers.
mysql-test/suite/rpl_ndb/r/rpl_ndb_extraCol.result:
  Error message numbers.
mysql-test/suite/ndb/r/ndb_dd_basic.result:
  Error message numbers.
mysql-test/suite/ndb/r/ndb_dd_ddl.result:
  Error message numbers.
mysql-test/suite/ndb/r/ndb_gis.result:
  Error message numbers.
mysql-test/suite/ndb/r/ndb_row_format.result:
  Error message numbers.
mysql-test/suite/ndb/r/ndb_single_user.result:
  Error message numbers.
2007-10-27 01:40:48 +05:00
unknown
9d4e4249cb Fix for
Bug#31408 funcs_1: <engine>_trig_03e test fail
Modification:
   The TRIGGER PRIVILEGE is now needed for getting informations about TRIGGERs.
   Therefore after REVOKE TRIGGER privilege the 
   - SHOW TRIGGERS
   - SELECT * FROM INFORMATION_SCHEMA.TRIGGERS
   result sets are now empty.


mysql-test/suite/funcs_1/r/innodb_trig_03e.result:
  Updated results
mysql-test/suite/funcs_1/r/memory_trig_03e.result:
  Updated results
mysql-test/suite/funcs_1/r/myisam_trig_03e.result:
  Updated results
mysql-test/suite/funcs_1/r/ndb_trig_03e.result:
  Updated results
2007-10-26 17:36:22 +02: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
c70da572c4 commit of WL#3686 test case already in 5.1 to get regression testing, no code committed
mysql-test/suite/ndb/r/ndb_update_no_read.result:
  New BitKeeper file ``mysql-test/suite/ndb/r/ndb_update_no_read.result''
mysql-test/suite/ndb/t/ndb_update_no_read.test:
  New BitKeeper file ``mysql-test/suite/ndb/t/ndb_update_no_read.test''
2007-10-26 11:42:33 +02:00
unknown
d54f77eb62 post merge weirdness 2007-10-26 09:06:18 +02:00
unknown
5f20d74f86 Merge perch.ndb.mysql.com:/home/jonas/src/mysql-5.0-ndb
into  perch.ndb.mysql.com:/home/jonas/src/51-ndb


mysql-test/suite/ndb/r/ndb_basic.result:
  merge
mysql-test/suite/ndb/t/ndb_basic.test:
  merge
2007-10-26 08:57:10 +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
c8282d7b6b Merge polly.(none):/home/kaa/src/maint/mysql-5.0-maint
into  polly.(none):/home/kaa/src/maint/mysql-5.1-maint


mysql-test/suite/binlog/t/binlog_killed.test:
  Auto merged
mysys/my_write.c:
  Auto merged
2007-10-24 21:39:00 +04: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
e68fd8cd70 Merge mskold@bk-internal.mysql.com:/home/bk/mysql-5.1-ndb
into  mysql.com:/windows/Linux_space/MySQL/mysql-5.1-new-ndb
2007-10-24 14:10:36 +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
dcd1d492ba Post-merge fixes.
mysql-test/suite/rpl/r/rpl_extraCol_innodb.result:
  Result change
mysql-test/suite/rpl/r/rpl_extraCol_myisam.result:
  Result change
2007-10-22 10:32:35 +02: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
784cf5a61b Merge four.local.lan:/WORK2/merge/mysql-5.1-31556
into  four.local.lan:/WORK/mysql-5.1-build/src-clean
2007-10-18 16:14:27 +02:00
unknown
0b3720facc Merge magare.gmz:/home/kgeorge/mysql/work/B31221-5.0-gca-opt
into  magare.gmz:/home/kgeorge/mysql/work/B31221-5.1-opt


mysql-test/r/derived.result:
  Auto merged
mysql-test/r/ps_2myisam.result:
  Auto merged
mysql-test/r/ps_3innodb.result:
  Auto merged
mysql-test/r/ps_4heap.result:
  Auto merged
mysql-test/r/ps_5merge.result:
  Auto merged
mysql-test/r/type_datetime.result:
  Auto merged
mysql-test/t/type_date.test:
  Auto merged
BitKeeper/deleted/.del-ps_6bdb.result:
  Auto merged
mysql-test/suite/ndb/r/ps_7ndb.result:
  Auto merged
sql/field.cc:
  Auto merged
sql/item_timefunc.cc:
  Auto merged
mysql-test/r/type_date.result:
  merge 5.0-opt -> 5.1-opt
2007-10-18 15:57:59 +03:00
unknown
22da7613b8 Merge four.local.lan:/WORK2/merge/mysql-5.0-31556
into  four.local.lan:/WORK2/merge/mysql-5.1-31556


mysql-test/suite/funcs_2/r/innodb_charset.result:
  Auto merged
mysql-test/suite/funcs_2/r/memory_charset.result:
  Auto merged
mysql-test/suite/funcs_2/r/myisam_charset.result:
  Auto merged
mysql-test/suite/funcs_2/r/ndb_charset.result:
  Auto merged
2007-10-18 13:13:21 +02:00
unknown
ca6bcc66ed Fix for
Bug#31556 Test failure: "select hex(ascii(a)) ... order by a" results in different order


mysql-test/suite/funcs_2/r/innodb_charset.result:
  Updated result
mysql-test/suite/funcs_2/r/memory_charset.result:
  Updated result
mysql-test/suite/funcs_2/r/myisam_charset.result:
  Updated result
mysql-test/suite/funcs_2/r/ndb_charset.result:
  Updated result
2007-10-18 13:09:30 +02:00
unknown
62a7e160bc Bug#31568 Some "information_schema" entries suddenly report a NULL default
updated result files


mysql-test/suite/funcs_1/r/innodb__datadict.result:
  updated result file
mysql-test/suite/funcs_1/r/memory__datadict.result:
  updated result file
mysql-test/suite/funcs_1/r/myisam__datadict.result:
  updated result file
2007-10-17 13:22:34 +05:00
unknown
828801bbaa Fix for non-deterministic behavior of SELECTs and VIEWs
mysql-test/suite/rpl/include/rpl_mixed_check_select.inc:
  Added ORDER BY for SELECT
mysql-test/suite/rpl/include/rpl_mixed_check_view.inc:
  Added ORDER BY for VIEW
mysql-test/suite/rpl/include/rpl_mixed_dml.inc:
  Added ORDER BY for SELECT
mysql-test/suite/rpl/r/rpl_innodb_mixed_dml.result:
  Updated result file
2007-10-16 23:19:39 +04: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
67b31b0fdb ndb - reenable disabled testcases
ndb_load
  ndb_dd_sql_features


mysql-test/suite/ndb/t/disabled.def:
  reenable disabled testcases
2007-10-15 09:17:15 +02:00
unknown
35ec70abb5 Merge mskold@bk-internal.mysql.com:/home/bk/mysql-5.1-ndb
into  mysql.com:/windows/Linux_space/MySQL/mysql-5.1-new-ndb
2007-10-15 08:51:35 +02:00
unknown
bf9eb0f0d7 manual merge for bug_29136, bug#29309.
mysql-test/extra/binlog_tests/mix_innodb_myisam_side_effects.test:
  manual merge from 5.0
mysql-test/r/innodb.result:
  results changed
mysql-test/r/multi_update.result:
  results changed
mysql-test/suite/binlog/r/binlog_row_mix_innodb_myisam.result:
  manual merge: results re-recorded
mysql-test/suite/binlog/r/binlog_stm_mix_innodb_myisam.result:
  results changed
mysql-test/suite/manual/r/rpl_replication_delay.result:
  results recorded for 5.1
mysql-test/t/innodb.test:
  removing bug27716 regression test as one exists in binlog suite already.
mysql-test/t/multi_update.test:
  manual merge plus refining for execution in both binlog_format.
sql/log_event.cc:
  bloody manual merge;
  the fact that an event is artificial is encode with setting timestamp argument to zero.
  rli's last_master_timestamp won't be updated in stmt_done in such case.
sql/rpl_rli.cc:
  simulation and the real fixing code.
  Don't update last_master_timestamp with zero.
sql/sql_delete.cc:
  manual merge
2007-10-13 23:12:50 +03:00
unknown
1408095a11 Merge koti.dsl.inet.fi:/home/elkin/MySQL/TEAM/FIXES/5.0/bug29136-mdelete
into  koti.dsl.inet.fi:/home/elkin/MySQL/merge-5.1


mysql-test/t/multi_update.test:
  Auto merged
sql/slave.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_delete.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_update.cc:
  Auto merged
mysql-test/extra/binlog_tests/mix_innodb_myisam_binlog.test:
  manual merge use local; another file has to be changed in 5_1.
mysql-test/r/innodb.result:
  manual merge use local to re-record the results
mysql-test/r/multi_update.result:
  manual merge use local to re-record the results
mysql-test/suite/binlog/r/binlog_stm_mix_innodb_myisam.result:
  manual merge use local to re-record the results
mysql-test/t/innodb.test:
  restoring bug#27716 snippet
sql/log_event.cc:
  trasfering simulation to another file: rpl_rli.cc
2007-10-13 16:51:16 +03: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
55fa8e34eb Fix for
Bug#31411 funcs_1: ndb_<every test> fail because of changed server error number
= Adjust the files with expected results 


mysql-test/suite/funcs_1/r/ndb_cursors.result:
  Updated result
mysql-test/suite/funcs_1/r/ndb_trig_0102.result:
  Updated result
mysql-test/suite/funcs_1/r/ndb_trig_03.result:
  Updated result
mysql-test/suite/funcs_1/r/ndb_trig_0407.result:
  Updated result
mysql-test/suite/funcs_1/r/ndb_trig_08.result:
  Updated result
mysql-test/suite/funcs_1/r/ndb_trig_09.result:
  Updated result
mysql-test/suite/funcs_1/r/ndb_trig_1011ext.result:
  Updated result
2007-10-11 19:39:18 +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
e2fe2055b1 Merge four.local.lan:/WORK2/merge/mysql-5.1-parts
into  four.local.lan:/WORK/mysql-5.1-build/src-clean
2007-10-10 22:51:35 +02:00
unknown
14ac59744c Combined fix for
Bug#31481 test suite parts: Many tests fail because of changed server error codes
   Bug#31243 Test "partition_basic_myisam" truncates path names
+ minor cleanup


mysql-test/suite/parts/inc/partition.pre:
  - Blow column file_list up to VARBINARY(10000)
     = Fix for Bug#31243 Test "partition_basic_myisam" truncates path names
  - Minor cleanup
    = remove reference to fixed bugs #17455, #19305
mysql-test/suite/parts/inc/partition_alter_1.inc:
  Adjust expected server error codes
mysql-test/suite/parts/inc/partition_check.inc:
  Adjust expected server error codes
mysql-test/suite/parts/inc/partition_syntax.inc:
  Minor cleanup
  = replace error numbers with error names
mysql-test/suite/parts/inc/partition_syntax_1.inc:
  Adjust expected server error codes
mysql-test/suite/parts/r/partition_alter1_innodb.result:
  Updated results
mysql-test/suite/parts/r/partition_alter1_myisam.result:
  Updated results
mysql-test/suite/parts/r/partition_alter2_innodb.result:
  Updated results
mysql-test/suite/parts/r/partition_alter2_myisam.result:
  Updated results
mysql-test/suite/parts/r/partition_alter3_innodb.result:
  Updated results
mysql-test/suite/parts/r/partition_alter3_myisam.result:
  Updated results
mysql-test/suite/parts/r/partition_alter4_innodb.result:
  Updated results
mysql-test/suite/parts/r/partition_alter4_myisam.result:
  Updated results
mysql-test/suite/parts/r/partition_basic_innodb.result:
  Updated results
mysql-test/suite/parts/r/partition_basic_myisam.result:
  Updated results
mysql-test/suite/parts/r/partition_engine_innodb.result:
  Updated results
mysql-test/suite/parts/r/partition_engine_myisam.result:
  Updated results
mysql-test/suite/parts/r/partition_syntax_innodb.result:
  Updated results
mysql-test/suite/parts/r/partition_syntax_myisam.result:
  Updated results
2007-10-10 22:03:10 +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
2510ac8c4f rpl_ndb_extraColMaster.test, rpl_ndb_extraColMaster.result:
Back porting NDB test case


mysql-test/suite/rpl_ndb/t/rpl_ndb_extraColMaster.test:
  Back porting NDB test case
mysql-test/suite/rpl_ndb/r/rpl_ndb_extraColMaster.result:
  Back porting NDB test case
2007-10-10 17:22:21 +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
b10cc2218e Fix for
Bug#31407 funcs_1: <engine>__datadict tests broken because of wrong expected results


mysql-test/suite/funcs_1/r/innodb__datadict.result:
  Updated expected results
mysql-test/suite/funcs_1/r/memory__datadict.result:
  Updated expected results
mysql-test/suite/funcs_1/r/myisam__datadict.result:
  Updated expected results
mysql-test/suite/funcs_1/r/ndb__datadict.result:
  Updated expected results
  Attention:
     The update does not prevent that the test has to be disabled.
     Reason: Bug#31421 funcs_1: ndb__datadict fails, discrepancy between scripts and expected results
mysql-test/suite/funcs_1/t/disabled.def:
  Disable ndb__datadict because of
  Bug#31421 funcs_1: ndb__datadict fails, discrepancy between scripts and expected results
  which will be fixed later.
2007-10-10 15:37:33 +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
unknown
de4cce5288 Updated NDB test to run for both RBR and MBR testing. In addition added test for Innodb and updated results files for all tests.
mysql-test/suite/rpl_ndb/t/rpl_ndb_charset.test:
  Updated test to run for both row and mixed replication testing
mysql-test/suite/rpl_ndb/r/rpl_ndb_charset.result:
  Updated results file
mysql-test/extra/rpl_tests/rpl_row_charset.test:
  Updated test to specify the engine in the create. In addition had to add BIG SQL for NDB
mysql-test/suite/rpl/r/rpl_row_charset.result:
  Updated results file
mysql-test/suite/rpl/t/rpl_row_charset_innodb.test:
  Created a wrapper to test innodb storage engine as well
mysql-test/suite/rpl/t/rpl_row_charset_innodb-master.opt:
  Option file to ensure innodb on master
mysql-test/suite/rpl/t/rpl_row_charset_innodb-slave.opt:
  Option file to ensure innodb on slave
mysql-test/suite/rpl/r/rpl_row_charset_innodb.result:
  New results file for innodb test case
2007-10-09 19:51:57 +02:00
unknown
6340f77cbe Merge sama.ndb.mysql.com:/export/space/pekka/ndb/version/my51-ndb
into  sama.ndb.mysql.com:/export/space/pekka/ndb/version/my51-bug29390
2007-10-09 13:16:49 +02:00
unknown
deb74591c9 Bug #31470 ndb table with special characters in name are not discovered correctly 2007-10-09 09:39:39 +02:00