Commit graph

59 commits

Author SHA1 Message Date
Konstantin Osipov
5eed6cc55d next-4284-merge: temporarily disable failing SSL tests. 2010-02-02 00:21:54 +03:00
Konstantin Osipov
a14bbee5ab Backport of revno ## 2617.31.1, 2617.31.3, 2617.31.4, 2617.31.5,
2617.31.12, 2617.31.15, 2617.31.15, 2617.31.16, 2617.43.1
- initial changeset that introduced the fix for 
Bug#989 and follow up fixes for all test suite failures
introduced in the initial changeset. 
------------------------------------------------------------
revno: 2617.31.1
committer: Davi Arnaut <Davi.Arnaut@Sun.COM>
branch nick: 4284-6.0
timestamp: Fri 2009-03-06 19:17:00 -0300
message:
Bug#989: If DROP TABLE while there's an active transaction, wrong binlog order
WL#4284: Transactional DDL locking

Currently the MySQL server does not keep metadata locks on
schema objects for the duration of a transaction, thus failing
to guarantee the integrity of the schema objects being used
during the transaction and to protect then from concurrent
DDL operations. This also poses a problem for replication as
a DDL operation might be replicated even thought there are
active transactions using the object being modified.

The solution is to defer the release of metadata locks until
a active transaction is either committed or rolled back. This
prevents other statements from modifying the table for the
entire duration of the transaction. This provides commitment
ordering for guaranteeing serializability across multiple
transactions.

- Incompatible change:

If MySQL's metadata locking system encounters a lock conflict,
the usual schema is to use the try and back-off technique to
avoid deadlocks -- this schema consists in releasing all locks
and trying to acquire them all in one go.

But in a transactional context this algorithm can't be utilized
as its not possible to release locks acquired during the course
of the transaction without breaking the transaction commitments.
To avoid deadlocks in this case, the ER_LOCK_DEADLOCK will be
returned if a lock conflict is encountered during a transaction.

Let's consider an example:

A transaction has two statements that modify table t1, then table
t2, and then commits. The first statement of the transaction will
acquire a shared metadata lock on table t1, and it will be kept
utill COMMIT to ensure serializability.

At the moment when the second statement attempts to acquire a
shared metadata lock on t2, a concurrent ALTER or DROP statement
might have locked t2 exclusively. The prescription of the current
locking protocol is that the acquirer of the shared lock backs off
-- gives up all his current locks and retries. This implies that
the entire multi-statement transaction has to be rolled back.

- Incompatible change:

FLUSH commands such as FLUSH PRIVILEGES and FLUSH TABLES WITH READ
LOCK won't cause locked tables to be implicitly unlocked anymore.


mysql-test/extra/binlog_tests/drop_table.test:
  Add test case for Bug#989.
mysql-test/extra/binlog_tests/mix_innodb_myisam_binlog.test:
  Fix test case to reflect the fact that transactions now hold
  metadata locks for the duration of a transaction.
mysql-test/include/mix1.inc:
  Fix test case to reflect the fact that transactions now hold
  metadata locks for the duration of a transaction.
mysql-test/include/mix2.inc:
  Fix test case to reflect the fact that transactions now hold
  metadata locks for the duration of a transaction.
mysql-test/r/flush_block_commit.result:
  Update test case result (WL#4284).
mysql-test/r/flush_block_commit_notembedded.result:
  Update test case result (WL#4284).
mysql-test/r/innodb.result:
  Update test case result (WL#4284).
mysql-test/r/innodb_mysql.result:
  Update test case result (WL#4284).
mysql-test/r/lock.result:
  Add test case result for an effect of WL#4284/Bug#989
  (all locks should be released when a connection terminates).
mysql-test/r/mix2_myisam.result:
  Update test case result (effects of WL#4284/Bug#989).
mysql-test/r/not_embedded_server.result:
  Update test case result (effects of WL#4284/Bug#989).
  Add a test case for interaction of WL#4284 and FLUSH PRIVILEGES.
mysql-test/r/partition_innodb_semi_consistent.result:
  Update test case result (effects of WL#4284/Bug#989).
mysql-test/r/partition_sync.result:
  Temporarily disable the test case for Bug#43867,
  which will be fixed by a subsequent backport.
mysql-test/r/ps.result:
  Add a test case for effect of PREPARE on transactional
  locks: we take a savepoint at beginning of PREAPRE
  and release it at the end. Thus PREPARE does not 
  accumulate metadata locks (Bug#989/WL#4284).
mysql-test/r/read_only_innodb.result:
  Update test case result (effects of WL#4284/Bug#989).
mysql-test/suite/binlog/r/binlog_row_drop_tbl.result:
  Add a test case result (WL#4284/Bug#989).
mysql-test/suite/binlog/r/binlog_row_mix_innodb_myisam.result:
  Update test case result (effects of WL#4284/Bug#989).
mysql-test/suite/binlog/r/binlog_stm_drop_tbl.result:
  Add a test case result (WL#4284/Bug#989).
mysql-test/suite/binlog/r/binlog_stm_mix_innodb_myisam.result:
  Update test case result (effects of WL#4284/Bug#989).
mysql-test/suite/binlog/r/binlog_unsafe.result:
  A side effect of Bug#989 -- slightly different table map ids.
mysql-test/suite/binlog/t/binlog_row_drop_tbl.test:
  Add a test case for WL#4284/Bug#989.
mysql-test/suite/binlog/t/binlog_stm_drop_tbl.test:
  Add a test case for WL#4284/Bug#989.
mysql-test/suite/binlog/t/binlog_stm_row.test:
  Update to the new state name. This
  is actually a follow up to another patch for WL#4284, 
  that changes Locked thread state to Table lock.
mysql-test/suite/ndb/r/ndb_index_ordered.result:
  Remove result for disabled part of the test case.
mysql-test/suite/ndb/t/disabled.def:
  Temporarily disable a test case (Bug#45621).
mysql-test/suite/ndb/t/ndb_index_ordered.test:
  Disable a part of a test case (needs update to
  reflect semantics of Bug#989).
mysql-test/suite/rpl/t/disabled.def:
  Disable tests made meaningless by transactional metadata
  locking.
mysql-test/suite/sys_vars/r/autocommit_func.result:
  Add a commit (Bug#989).
mysql-test/suite/sys_vars/t/autocommit_func.test:
  Add a commit (Bug#989).
mysql-test/t/flush_block_commit.test:
  Fix test case to reflect the fact that transactions now hold
  metadata locks for the duration of a transaction.
mysql-test/t/flush_block_commit_notembedded.test:
  Fix test case to reflect the fact that transactions now hold
  metadata locks for the duration of a transaction.
  Add a test case for transaction-scope locks and the global
  read lock (Bug#989/WL#4284).
mysql-test/t/innodb.test:
  Fix test case to reflect the fact that transactions now hold
  metadata locks for the duration of a transaction
  (effects of Bug#989/WL#4284).
mysql-test/t/lock.test:
  Add a test case for Bug#989/WL#4284.
mysql-test/t/not_embedded_server.test:
  Add a test case for Bug#989/WL#4284.
mysql-test/t/partition_innodb_semi_consistent.test:
  Replace TRUNCATE with DELETE, to not issue
  an implicit commit of a transaction, and not depend
  on metadata locks.
mysql-test/t/partition_sync.test:
  Temporarily disable the test case for Bug#43867,
  which needs a fix to be backported from 6.0.
mysql-test/t/ps.test:
  Add a test case for semantics of PREPARE and transaction-scope
  locks: metadata locks on tables used in PREPARE are enclosed into a
  temporary savepoint, taken at the beginning of PREPARE,
  and released at the end. Thus PREPARE does not effect
  what locks a transaction owns.
mysql-test/t/read_only_innodb.test:
  Fix test case to reflect the fact that transactions now hold
  metadata locks for the duration of a transaction 
  (Bug#989/WL#4284).
  
  Wait for the read_only statement to actually flush tables before
  sending other concurrent statements that depend on its state.
mysql-test/t/xa.test:
  Fix test case to reflect the fact that transactions now hold
  metadata locks for the duration of a transaction 
  (Bug#989/WL#4284).
sql/ha_ndbcluster_binlog.cc:
  Backport bits of changes of ha_ndbcluster_binlog.cc
  from 6.0, to fix the failing binlog test suite with
  WL#4284. WL#4284 implementation does not work
  with 5.1 implementation of ndbcluster binlog index.
sql/log_event.cc:
  Release metadata locks after issuing a commit.
sql/mdl.cc:
  Style changes (WL#4284).
sql/mysql_priv.h:
  Rename parameter to match the name used in the definition (WL#4284).
sql/rpl_injector.cc:
  Release metadata locks on commit (WL#4284).
sql/rpl_rli.cc:
  Remove assert made meaningless, metadata locks are released
  at the end of the transaction.
sql/set_var.cc:
  Close tables and release locks if autocommit mode is set.
sql/slave.cc:
  Release metadata locks after a rollback.
sql/sql_acl.cc:
  Don't implicitly unlock locked tables. Issue a implicit commit
  at the end and unlock tables.
sql/sql_base.cc:
  Defer the release of metadata locks when closing tables
  if not required to.
  Issue a deadlock error if the locking protocol requires
  that a transaction re-acquire its locks.
  
  Release metadata locks when closing tables for reopen.
sql/sql_class.cc:
  Release metadata locks if the thread is killed.
sql/sql_parse.cc:
  Release metadata locks after implicitly committing a active
  transaction, or after explicit commits or rollbacks.
sql/sql_plugin.cc:
  
  Allocate MDL request on the stack as the use of the table
  is contained within the function. It will be removed from
  the context once close_thread_tables is called at the end
  of the function.
sql/sql_prepare.cc:
  The problem is that the prepare phase of the CREATE TABLE
  statement takes a exclusive metadata lock lock and this can
  cause a self-deadlock the thread already holds a shared lock
  on the table being that should be created.
  
  The solution is to make the prepare phase take a shared
  metadata lock when preparing a CREATE TABLE statement. The
  execution of the statement will still acquire a exclusive
  lock, but won't cause any problem as it issues a implicit
  commit.
  
  After some discussions with stakeholders it has been decided that
  metadata locks acquired during a PREPARE statement must be released
  once the statement is prepared even if it is prepared within a multi
  statement transaction.
sql/sql_servers.cc:
  Don't implicitly unlock locked tables. Issue a implicit commit
  at the end and unlock tables.
sql/sql_table.cc:
  Close table and release metadata locks after a admin operation.
sql/table.h:
  The problem is that the prepare phase of the CREATE TABLE
  statement takes a exclusive metadata lock lock and this can
  cause a self-deadlock the thread already holds a shared lock
  on the table being that should be created.
  
  The solution is to make the prepare phase take a shared
  metadata lock when preparing a CREATE TABLE statement. The
  execution of the statement will still acquire a exclusive
  lock, but won't cause any problem as it issues a implicit
  commit.
sql/transaction.cc:
  Release metadata locks after the implicitly committed due
  to a new transaction being started. Also, release metadata
  locks acquired after a savepoint if the transaction is rolled
  back to the save point.
  
  The problem is that in some cases transaction-long metadata locks
  could be released before the transaction was committed. This could
  happen when a active transaction was ended by a "START TRANSACTION"
  or "BEGIN" statement, in which case the metadata locks would be
  released before the actual commit of the active transaction.
  
  The solution is to defer the release of metadata locks to after the
  transaction has been implicitly committed. No test case is provided
  as the effort to provide one is too disproportional to the size of
  the fix.
2009-12-05 02:02:48 +03:00
Andrei Elkin
0eda48463c Manual resolving for the following files
Text conflict in mysql-test/collections/default.experimental
Text conflict in mysql-test/r/show_check.result
Text conflict in mysql-test/r/sp-code.result
Text conflict in mysql-test/suite/binlog/r/binlog_tmp_table.result
Text conflict in mysql-test/suite/rpl/t/disabled.def
Text conflict in mysql-test/t/show_check.test
Text conflict in mysys/my_delete.c
Text conflict in sql/item.h
Text conflict in sql/item_cmpfunc.h
Text conflict in sql/log.cc
Text conflict in sql/mysqld.cc
Text conflict in sql/repl_failsafe.cc
Text conflict in sql/slave.cc
Text conflict in sql/sql_parse.cc
Text conflict in sql/sql_table.cc
Text conflict in sql/sql_yacc.yy
Text conflict in storage/myisam/ha_myisam.cc

Corrected results for
 stm_auto_increment_bug33029.reject      2009-12-01
		20:01:49.000000000 +0300
       <andrei> @@ -42,9 +42,6 @@
       <andrei>  RETURN i;
       <andrei>  END//
       <andrei>  CALL p1();
       <andrei> -Warnings:
       <andrei> -Note   1592    Statement may not be safe to log in statement
		format.
       <andrei> -Note   1592    Statement may not be safe to log in statement
		format.

There should be indeed no Note present because there is in fact autoincrement 
top-level query in sp() that triggers inserting in yet another auto-inc table.
(todo: alert DaoGang to improve the test).
2009-12-01 21:07:18 +02:00
He Zhenxing
6c3c984fc4 disable rpl_spec_variables due to it fails constantly on HPUX 2009-10-27 16:42:50 +08:00
Luis Soares
ba0afceb9e post-push fixes
Disabled rpl_cross_version (instead of setting it experimental).
Fixed outstanding warning fix in main.debug_sync.
2009-10-23 17:07:45 +01:00
Alexander Nozdrin
336505395e Disable the test in mysql-trunk because of Bug#46931
instead of making it experimental.
2009-10-22 10:01:23 +04:00
unknown
6368919f54 Bug #43913 rpl_cross_version can't pass on conflicts complainig clash with --slave-load-tm
The failure is not reproduced on 5.1, so enable the 'rpl_cross_version' test.

mysql-test/suite/rpl/t/disabled.def:
  Got rid of the line for enabling 'rpl_cross_version' test.
2009-09-27 18:12:58 +08:00
Bjorn Munch
3a78dbe482 46996 workaruond 2009-09-01 13:38:17 +02:00
Bjorn Munch
5166a56d04 forgot : in rpl's disabled.def 2009-08-31 09:24:59 +02:00
Bjorn Munch
02f67d5b1f yet another 42408 followup 2009-08-30 12:01:08 +02:00
Bjorn Munch
6fed1e15c2 Bug #43005 main.init_connect fais on Windows in PB2
Server args containing spaces do not work on Windows
Fixed my_safe_rprocess-win to re-apply "" around such args
2009-07-15 14:20:56 +02:00
Patrick Crews
bb3f97f4bf Bug#44920 - MTR2 is not processing master.opt input properly on Windows
Disabling these two tests as they are affected by this bug / causing PB2 failures
on Windows platforms.  Can always disable via include/not_windows.inc if
the bug fix looks like it will take some time.
2009-05-18 12:53:06 -04:00
Alfranio Correia
6736e5209a BUG#41793 rpl_binlog_corruption disabled in main (needs new mtr)
The test case was missing "let $slave_sql_errno= 1594;".
2009-04-15 12:43:17 +01:00
Georgi Kodinov
3346c5c9d3 merged 5.1-main -> 5.1-bugteam 2009-04-01 12:57:34 +03:00
Georgi Kodinov
2c312d9737 disabled a failing test suite due to bug #42311 2009-03-27 14:12:33 +02:00
Leonard Zhou
da30dedd41 Bug#43440 rpl.rpl_temp_table_mix_row fails sporadicly
The problem is that after disconnect, the DOPR TEMPORARY TABLE event didn't been
written into binlog. So after syncing with slave, the TEMPORARY table on slave 
is not removed.
      
Waiting DROP TEMPORARY TABLE event to be written into binlog before sync slave with
master.

mysql-test/suite/rpl/t/disabled.def:
  Remove disable item.
mysql-test/suite/rpl/t/rpl_temp_table_mix_row.test:
  Waiting DROP TEMPORARY TABLE event to be written into binlog
2009-03-24 16:55:03 +08:00
Georgi Kodinov
596a9dbdfb Disabled the failing test case until bug #43440 is resolved 2009-03-23 11:38:54 +02:00
Sven Sandberg
28e672dbe7 BUG#41793: rpl_binlog_corruption disabled in main (needs new mtr)
Disabled rpl_binlog_corruption since it requires the new mtr,
which only exists in 5.1-rpl / 6.0-rpl.
Please re-enable the test in 5.1-rpl / 6.0-rpl.


mysql-test/suite/rpl/t/disabled.def:
  Disabled rpl_binlog_corruption since it requires the new mtr,
  which only exists in 5.1-rpl / 6.0-rpl.
2008-12-30 09:48:19 +01:00
Sven Sandberg
f40fc60cf2 BUG#36625: Please remove the rpl_probe and rpl_parse features from the server
Problem 1: BUG#36625: rpl_redirect doesn't do anything useful. It tests an
obsolete feature that was never fully implemented.
Fix 1: Remove rpl_redirect.
Problem 2: rpl_innodb_bug28430 and rpl_flushlog_loop are disabled despite the
bugs for which they were disabled have been fixed.
Fix 2: Re-enable rpl_innodb_bug28430 and rpl_flushlog_loop.


mysql-test/suite/rpl/r/rpl_redirect.result:
  Removed result file for obsolete test.\
mysql-test/suite/rpl/t/disabled.def:
  Re-enabled tests.
mysql-test/suite/rpl/t/rpl_redirect.test:
  Removed obsolete test.
2008-11-06 11:00:55 +01:00
Ramil Kalimullin
b4c5cafeb0 Fix for bug#38269: pushbuild gives valgrind error in
ha_statistic_increment for rpl_temporary

Problem: in some cases master send a special event to reconnecting
slave to keep slave's temporary tables (see #17284) and they still 
have references to the "old" SQL slave thread and use them to access
thread's data.

Fix: set temporary tables thread references to the actual SQL slave
thread in such cases.


mysql-test/suite/rpl/t/disabled.def:
  Fix for bug#38269: pushbuild gives valgrind error in 
  ha_statistic_increment for rpl_temporary
    - rpl_temporary test enabled.
sql/log_event.cc:
  Fix for bug#38269: pushbuild gives valgrind error in 
  ha_statistic_increment for rpl_temporary
    - if we keep slave's temporary tables after reconnect,
  set their thread pointers (->in_use) to the current SQL thread.
2008-10-07 18:21:17 +05:00
Sven Sandberg
d8c838c27a BUG#37733: rpl.rpl_flushlog_loop 'row' fails sporadically on pushbuild
BUG#37884: rpl_row_basic_2myisam and rpl_row_basic_3innodb fail sporadically in pushbuild
These have been fixed in 5.1-rpl. Re-applying fix for BUG#37884
in 5.1-bugteam, and disabling rpl_flushlog_loop for BUG#37733 in
5.1-bugteam.


mysql-test/extra/rpl_tests/rpl_row_basic.test:
  Missing sync_slave_with_master added.
mysql-test/suite/rpl/t/disabled.def:
  Disabling rpl_flushlog_loop until the fixed version gets
  merged from 5.1-rpl
2008-07-23 16:34:02 +02:00
Sven Sandberg
6334196bd7 BUG#38269: pushbuild gives valgrind error in ha_statistic_increment for rpl_temporary
This does not fix the bug. It only disables the failing test.


mysql-test/suite/rpl/t/disabled.def:
  disable rpl_temporary
2008-07-21 21:05:06 +02:00
Andrei Elkin
7d1bc0a4f9 Bug #36818 rpl_server_id1 fails expecting slave has stopped
the reason for the failure is that io thread passes through a sequence of state
changes before it eventually got stuck at the expect running state as NO.
It's unreasonble to wait for the running status while the whole idea of the test is
to get to the IO thread error.

Fixed with changing the waiting condition.

mysql-test/suite/rpl/r/rpl_server_id1.result:
  results changed
mysql-test/suite/rpl/t/disabled.def:
  re-enabling rpl_server_id1
mysql-test/suite/rpl/t/rpl_server_id1.test:
  deploying the exact waiting condition i.e to wait for the slave io error.
2008-07-18 14:53:16 +03:00
Tatiana A. Nurnberg
b4a45a7121 re 36818: rpl_server_id1 fails expecting slave has stopped
On a slow environment like valgrind the test is vulnerable
because it does not check if slave has stopped at time
of the new session is requested `start slave;' -- disabling
test till it is fixed.

mysql-test/suite/rpl/t/disabled.def:
  disable rpl_server_id1 until test is fixed.
2008-06-19 12:39:48 +02:00
unknown
ee4e10c7fc disabled.def:
rpl_innodb_bug28430 disabled


mysql-test/suite/rpl/t/disabled.def:
  rpl_innodb_bug28430 disabled
2008-05-19 11:38:53 +05:00
unknown
612a3ab47a Merge riska.(none):/home/sven/bk/b36379-enable_test/gca
into  riska.(none):/home/sven/bkroot/5.1-bugteam


mysql-test/suite/rpl/t/disabled.def:
  Auto merged
2008-05-07 20:17:37 +02:00
unknown
e1a2bb9292 BUG#36398: 'DROP TEMPORARY TABLE' in ROLLBACK transaction causes transaction to be logged
Temporarily checking in an incorrect test case. Rationale: the impact of
this bug is negligible (it's almost a feature request). We need 5.1 to be
stable, and making a real fix is a bit risky. So the fix is postponed
to 6.0.


mysql-test/suite/rpl/r/rpl_ddl.result:
  Updated result file.
mysql-test/suite/rpl/t/disabled.def:
  Enabling test case rpl_ddl.test
2008-05-07 13:02:06 +02:00
unknown
fcec0b017b BUG#36379: please re-enable rpl_innodb_bug28430
The test suite/rpl/t/rpl_innodb_bug28430.test was disabled because of
BUG#32247, but not re-enabled when BUG#32247 was fixed. I've re-enabled
it. The test and result file needed to be updated too.


mysql-test/suite/rpl/r/rpl_innodb_bug28430.result:
  Updated result file.
mysql-test/suite/rpl/t/disabled.def:
  Enabled the rpl_innodb_bug28430 test case.
mysql-test/suite/rpl/t/rpl_innodb_bug28430.test:
  show slave status is not needed since we have select count(*)
2008-05-07 12:57:07 +02:00
unknown
1e7bc4618b Merge ramayana.hindu.god:/home/tsmith/m/bk/bugteam/51
into  ramayana.hindu.god:/home/tsmith/m/bk/build/51


mysql-test/mysql-test-run.pl:
  Auto merged
mysql-test/suite/funcs_1/datadict/processlist_val.inc:
  Auto merged
mysql-test/t/disabled.def:
  Auto merged
mysql-test/suite/rpl/t/disabled.def:
  SCCS merged
2008-04-29 20:55:48 -06:00
unknown
9cb63bfbdd Enabled rpl: rpl_view, rpl_ndb_multi, rpl_log_pos
and main: user_limits, concurrent_innodb, lowercase_table3, ctype_create 
tests.


mysql-test/suite/ndb/t/disabled.def:
  Removed test commented.
mysql-test/suite/rpl/t/disabled.def:
  Enabled rpl_view, rpl_ndb_multi, rpl_log_pos tests.
mysql-test/t/disabled.def:
  Enabled user_limits, concurrent_innodb, lowercase_table3, ctype_create tests.
2008-04-24 16:43:08 +05:00
unknown
2e11542edd disabled.def:
Disabled 'rpl_redirect', failure is sporadic and and the test is superfluous
rpl_packet.test, rpl_packet.result:
  Removing race conditions from rpl_packet causing test to fail


mysql-test/suite/rpl/t/disabled.def:
  Disabled 'rpl_redirect', failure is sporadic and and the test is superfluous
mysql-test/suite/rpl/r/rpl_packet.result:
  Result change.
mysql-test/suite/rpl/t/rpl_packet.test:
  Setting net_buffer_length correctly for the test instead of relying on it
  being set correctly. Waiting for slave to stop after issuing a SLAVE STOP
  and waiting for slave to start when issuing a SLAVE START to prevent race
  conditions causing test failure.
2008-03-31 19:01:56 +02:00
unknown
fdb9d02945 Fixing rpl suite disabled.def: rpl_stm_extraColmaster_ndb does not exist in the suite.
mysql-test/suite/rpl/t/disabled.def:
  removing the line because there is no such test in the suite anymore.
2008-03-29 14:01:56 +02:00
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
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
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
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
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
95834a51f4 Merge ramayana.hindu.god:/home/tsmith/m/bk/51-target22-X
into  ramayana.hindu.god:/home/tsmith/m/bk/maint/51


configure.in:
  Auto merged
mysql-test/r/innodb.result:
  Auto merged
mysql-test/r/partition_pruning.result:
  Auto merged
mysql-test/r/select.result:
  Auto merged
mysql-test/suite/rpl/include/rpl_mixed_ddl.inc:
  Auto merged
mysql-test/suite/rpl/include/rpl_mixed_dml.inc:
  Auto merged
mysql-test/suite/rpl/r/rpl_timezone.result:
  Auto merged
mysql-test/suite/rpl/t/rpl_relayspace.test:
  Auto merged
mysql-test/suite/rpl/t/rpl_timezone.test:
  Auto merged
mysql-test/t/select.test:
  Auto merged
netware/BUILD/compile-netware-END:
  Auto merged
netware/Makefile.am:
  Auto merged
sql/field.cc:
  Auto merged
sql/ha_partition.cc:
  Auto merged
sql/ha_partition.h:
  Auto merged
sql/item.cc:
  Auto merged
sql/item_cmpfunc.h:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_cache.cc:
  Auto merged
sql/sql_lex.cc:
  Auto merged
sql/sql_lex.h:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/sql_view.cc:
  Auto merged
sql/time.cc:
  Auto merged
storage/innobase/handler/ha_innodb.cc:
  Auto merged
storage/innobase/log/log0recv.c:
  Auto merged
storage/innobase/srv/srv0srv.c:
  Auto merged
storage/innobase/trx/trx0trx.c:
  Auto merged
mysql-test/suite/rpl/r/rpl_innodb_mixed_dml.result:
  manual merge (use remote)
mysql-test/suite/rpl/t/disabled.def:
  Manual merge - both rpl_innodb_mixed_ddl and rpl_innodb_mixed_dml
  are fixed, and should be run as part of the rpl suite.
2007-08-27 18:41:29 -06:00
unknown
013c96ceaa WL#3694 Replication of Invocation and Invoked Features Testing.
Bug#29020 Event results not correctly replicated to slave in RBR: partially.


mysql-test/suite/rpl/r/rpl_invoked_features.result:
  Updated result file.
mysql-test/suite/rpl/t/disabled.def:
  removed test cases: rpl_invoked_features and rpl_innodb_mixed_* (alreade were commented out)
mysql-test/suite/rpl/t/rpl_invoked_features.test:
  Added comments, implemented the waiting via include/wait_condition, minor fixes.
2007-08-27 18:44:13 +04:00
unknown
e81734ce53 Bug#28744, Bug#29363
mysql-test/suite/rpl/include/rpl_mixed_ddl.inc:
  updated main test for DDL
mysql-test/suite/rpl/include/rpl_mixed_dml.inc:
  updated main test for DML
mysql-test/suite/rpl/r/rpl_innodb_mixed_dml.result:
  updated result file
mysql-test/suite/rpl/t/disabled.def:
  updated disabled.def
2007-08-23 17:33:06 +04:00
unknown
be9619f047 rpl.rpl_innodb_mixed_dml enabled 2007-08-20 12:31:21 +04:00
unknown
8d9ebcf044 disabled rpl_innodb_mixed_dml
mysql-test/suite/rpl/include/rpl_mixed_dml.inc:
  fix for tmp directory
2007-08-15 15:51:27 +04:00
unknown
5037fd706c Merge skozlov@bk-internal.mysql.com:/home/bk/mysql-5.1-new-rpl
into  mysql.com:/home/ksm/commits/mysql-5.1-new-rpl


mysql-test/suite/rpl/t/disabled.def:
  Auto merged
2007-08-03 14:45:26 +04:00
unknown
339434317e WL#3228 (NDB) : RBR using different table defs on slave/master
This patch corrects a problem found during testing on Solaris. The code
changes how length values are retrieved on big endian machines. The
patch allows the rpl_extraColmaster tests to run on these machines.


mysql-test/suite/rpl/r/rpl_row_create_table.result:
  WL#3228 (NDB) : RBR using different table defs on slave/master
  
  New result file with changes from merge of 5.1 main.
mysql-test/suite/rpl/t/disabled.def:
  WL#3228 (NDB) : RBR using different table defs on slave/master
  
  Disable the rpl_rwo_extraColmaster_ndb test (WL#3915) because the code
  fails on Big Endian machines. See BUG#29549 for more details.
sql/field.cc:
  WL#3228 (NDB) : RBR using different table defs on slave/master
  
  This patch corrects a problem found during testing on Solaris. The code
  changes how the store_length method processes requests for values on
  big endian machines.
sql/field.h:
  WL#3228 (NDB) : RBR using different table defs on slave/master
  
  This patch corrects a problem found during testing on Solaris. The code
  changes how the store_length method processes requests for values on
  big endian machines. It also changes the get_packed_length() method to
  use the endian-ness of the host in getting the length + packlength.
sql/rpl_record.cc:
  WL#3228 (NDB) : RBR using different table defs on slave/master
  
  This patch turns on the little endian switch (db_low_byte_first) in 
  order to ensure the values are unpack correctly from binlog as they
  are stored in little endian format in binlog.
sql/rpl_utility.cc:
  WL#3228 (NDB) : RBR using different table defs on slave/master
  
  This patch corrects a problem found during testing on Solaris. The code
  changes how the calculated field size method processes requests for 
  values on big endian machines.
2007-08-02 16:15:52 -04:00