mariadb/mysql-test/include
Dmitry Lenev eba5d30e67 Implement new type-of-operation-aware metadata locks.
Add a wait-for graph based deadlock detector to the
MDL subsystem.

Fixes bug #46272 "MySQL 5.4.4, new MDL: unnecessary deadlock" and
bug #37346 "innodb does not detect deadlock between update and
alter table".

The first bug manifested itself as an unwarranted abort of a
transaction with ER_LOCK_DEADLOCK error by a concurrent ALTER
statement, when this transaction tried to repeat use of a
table, which it has already used in a similar fashion before
ALTER started.

The second bug showed up as a deadlock between table-level
locks and InnoDB row locks, which was "detected" only after
innodb_lock_wait_timeout timeout.

A transaction would start using the table and modify a few
rows.
Then ALTER TABLE would come in, and start copying rows
into a temporary table. Eventually it would stumble on
the modified records and get blocked on a row lock.
The first transaction would try to do more updates, and get
blocked on thr_lock.c lock.
This situation of circular wait would only get resolved
by a timeout.

Both these bugs stemmed from inadequate solutions to the
problem of deadlocks occurring between different
locking subsystems.

In the first case we tried to avoid deadlocks between metadata
locking and table-level locking subsystems, when upgrading shared
metadata lock to exclusive one.
Transactions holding the shared lock on the table and waiting for
some table-level lock used to be aborted too aggressively.

We also allowed ALTER TABLE to start in presence of transactions
that modify the subject table. ALTER TABLE acquires
TL_WRITE_ALLOW_READ lock at start, and that block all writes
against the table (naturally, we don't want any writes to be lost
when switching the old and the new table). TL_WRITE_ALLOW_READ
lock, in turn, would block the started transaction on thr_lock.c
lock, should they do more updates. This, again, lead to the need
to abort such transactions.

The second bug occurred simply because we didn't have any
mechanism to detect deadlocks between the table-level locks
in thr_lock.c and row-level locks in InnoDB, other than
innodb_lock_wait_timeout.

This patch solves both these problems by moving lock conflicts
which are causing these deadlocks into the metadata locking
subsystem, thus making it possible to avoid or detect such
deadlocks inside MDL.

To do this we introduce new type-of-operation-aware metadata
locks, which allow MDL subsystem to know not only the fact that
transaction has used or is going to use some object but also what
kind of operation it has carried out or going to carry out on the
object.

This, along with the addition of a special kind of upgradable
metadata lock, allows ALTER TABLE to wait until all
transactions which has updated the table to go away.
This solves the second issue.
Another special type of upgradable metadata lock is acquired
by LOCK TABLE WRITE. This second lock type allows to solve the
first issue, since abortion of table-level locks in event of
DDL under LOCK TABLES becomes also unnecessary.

Below follows the list of incompatible changes introduced by
this patch:

- From now on, ALTER TABLE and CREATE/DROP TRIGGER SQL (i.e. those
  statements that acquire TL_WRITE_ALLOW_READ lock)
  wait for all transactions which has *updated* the table to
  complete.

- From now on, LOCK TABLES ... WRITE, REPAIR/OPTIMIZE TABLE
  (i.e. all statements which acquire TL_WRITE table-level lock) wait
  for all transaction which *updated or read* from the table
  to complete.
  As a consequence, innodb_table_locks=0 option no longer applies
  to LOCK TABLES ... WRITE.

- DROP DATABASE, DROP TABLE, RENAME TABLE no longer abort
  statements or transactions which use tables being dropped or
  renamed, and instead wait for these transactions to complete.

- Since LOCK TABLES WRITE now takes a special metadata lock,
  not compatible with with reads or writes against the subject table
  and transaction-wide, thr_lock.c deadlock avoidance algorithm
  that used to ensure absence of deadlocks between LOCK TABLES
  WRITE and other statements is no longer sufficient, even for
  MyISAM. The wait-for graph based deadlock detector of MDL
  subsystem may sometimes be necessary and is involved. This may
  lead to ER_LOCK_DEADLOCK error produced for multi-statement
  transactions even if these only use MyISAM:

  session 1:         session 2:
  begin;

  update t1 ...      lock table t2 write, t1 write;
                     -- gets a lock on t2, blocks on t1

  update t2 ...
  (ER_LOCK_DEADLOCK)

- Finally,  support of LOW_PRIORITY option for LOCK TABLES ... WRITE
  was abandoned.
  LOCK TABLE ... LOW_PRIORITY WRITE from now on has the same
  priority as the usual LOCK TABLE ... WRITE.
  SELECT HIGH PRIORITY no longer trumps LOCK TABLE ... WRITE  in
  the wait queue.

- We do not take upgradable metadata locks on implicitly
  locked tables. So if one has, say, a view v1 that uses
  table t1, and issues:
  LOCK TABLE v1 WRITE;
  FLUSH TABLE t1; -- (or just 'FLUSH TABLES'),
  an error is produced.
  In order to be able to perform DDL on a table under LOCK TABLES,
  the table must be locked explicitly in the LOCK TABLES list.

mysql-test/include/handler.inc:
  Adjusted test case to trigger an execution path on which bug 41110
  "crash with handler command when used concurrently with alter
  table" and bug 41112 "crash in mysql_ha_close_table/get_lock_data
  with alter table" were originally discovered. Left old test case
  which no longer triggers this execution path for the sake of
  coverage.
  Added test coverage for HANDLER SQL statements and type-aware
  metadata locks.
  Added a test for the global shared lock and HANDLER SQL.
  Updated tests to take into account that the old simple deadlock
  detection heuristics was replaced with a graph-based deadlock
  detector.
mysql-test/r/debug_sync.result:
  Updated results (see debug_sync.test).
mysql-test/r/handler_innodb.result:
  Updated results (see handler.inc test).
mysql-test/r/handler_myisam.result:
  Updated results (see handler.inc test).
mysql-test/r/innodb-lock.result:
  Updated results (see innodb-lock.test).
mysql-test/r/innodb_mysql_lock.result:
  Updated results (see innodb_mysql_lock.test).
mysql-test/r/lock.result:
  Updated results (see lock.test).
mysql-test/r/lock_multi.result:
  Updated results (see lock_multi.test).
mysql-test/r/lock_sync.result:
  Updated results (see lock_sync.test).
mysql-test/r/mdl_sync.result:
  Updated results (see mdl_sync.test).
mysql-test/r/sp-threads.result:
  SHOW PROCESSLIST output has changed due to the fact that waiting
  for LOCK TABLES WRITE now happens within metadata locking
  subsystem.
mysql-test/r/truncate_coverage.result:
  Updated results (see truncate_coverage.test).
mysql-test/suite/funcs_1/datadict/processlist_val.inc:
  SELECT FROM I_S.PROCESSLIST output has changed due to fact that
  waiting for LOCK TABLES WRITE now happens within metadata locking
  subsystem.
mysql-test/suite/funcs_1/r/processlist_val_no_prot.result:
  SELECT FROM I_S.PROCESSLIST output has changed due to fact that
  waiting for LOCK TABLES WRITE now happens within metadata locking
  subsystem.
mysql-test/suite/rpl/t/rpl_sp.test:
  Updated to a new SHOW PROCESSLIST state name.
mysql-test/t/debug_sync.test:
  Use LOCK TABLES READ instead of LOCK TABLES WRITE as the latter
  no longer allows to trigger execution path involving waiting on
  thr_lock.c lock and therefore reaching debug sync-point covered
  by this test.
mysql-test/t/innodb-lock.test:
  Adjusted test case to the fact that innodb_table_locks=0 option is
  no longer supported, since LOCK TABLES WRITE handles all its
  conflicts within MDL subsystem.
mysql-test/t/innodb_mysql_lock.test:
  Added test for bug #37346 "innodb does not detect deadlock between
  update and alter table".
mysql-test/t/lock.test:
  Added test coverage which checks the fact that we no longer support
  DDL under LOCK TABLES on tables which were locked implicitly.
  Adjusted existing test cases accordingly.
mysql-test/t/lock_multi.test:
  Added test for bug #46272 "MySQL 5.4.4, new MDL: unnecessary
  deadlock".  Adjusted other test cases to take into account the
  fact that waiting for LOCK TABLES ... WRITE now happens within MDL
  subsystem.
mysql-test/t/lock_sync.test:
  Since LOCK TABLES ... WRITE now takes SNRW metadata lock for
  tables locked explicitly we have to implicitly lock InnoDB tables
  (through view) to trigger the table-level lock conflict between
  TL_WRITE and TL_WRITE_ALLOW_WRITE.
mysql-test/t/mdl_sync.test:
  Added basic test coverage for type-of-operation-aware metadata
  locks. Also covered with tests some use cases involving HANDLER
  statements in which a deadlock could arise.
  Adjusted existing tests to take type-of-operation-aware MDL into
  account.
mysql-test/t/multi_update.test:
  Update to a new SHOW PROCESSLIST state name.
mysql-test/t/truncate_coverage.test:
  Adjusted test case after making LOCK TABLES WRITE to wait until
  transactions that use the table to be locked are completed.
  Updated to the changed name of DEBUG_SYNC point.
sql/handler.cc:
  Global read lock functionality has been
  moved into a class.
sql/lock.cc:
  Global read lock functionality has been
  moved into a class.
  Updated code to use the new MDL API.
sql/mdl.cc:
  Introduced new type-of-operation aware metadata locks.
  To do this:
  - Changed MDL_lock to use one list for waiting requests and one
    list for granted requests. For each list, added a bitmap
    that holds information what lock types a list contains.
    Added a helper class MDL_lock::List to manipulate with granted
    and waited lists while keeping the bitmaps in sync
    with list contents.
  - Changed lock-compatibility functions to use bitmaps that
    define compatibility.
  - Introduced a graph based deadlock detector inspired by
    waiting_threads.c from Maria implementation.
  - Now that we have a deadlock detector, and no longer have
    a global lock to protect individual lock objects, but rather
    use an rw lock per object, removed redundant code for upgrade,
    and the global read lock. Changed the MDL API to
    no longer require the caller to acquire the global
    intention exclusive lock by means of a separate method.
    Removed a few more methods that became redundant.
  - Removed deadlock detection heuristic, it has been made
    obsolete by the deadlock detector.
  - With operation-type-aware metadata locks, MDL subsystem has
    become aware of potential conflicts between DDL and open
    transactions. This made it possible to remove calls to
    mysql_abort_transactions_with_shared_lock() from acquisition
    paths for exclusive lock and lock upgrade. Now we can simply
    wait for these transactions to complete without fear of
    deadlock. Function mysql_lock_abort() has also become
    unnecessary for all conflicting cases except when a DDL
    conflicts with a connection that has an open HANDLER.
sql/mdl.h:
  Introduced new type-of-operation aware metadata locks.
  Introduced a graph based deadlock detector and supporting
  methods.
  Added comments.
  God rid of redundant API calls.
  Renamed m_lt_or_ha_sentinel to m_trans_sentinel,
  since now it guards the global read lock as well as
  LOCK TABLES and HANDLER locks.
sql/mysql_priv.h:
  Moved the global read lock functionality into a
  class.
  Added MYSQL_OPEN_FORCE_SHARED_MDL flag which forces
  open_tables() to take MDL_SHARED on tables instead of
  metadata locks specified in the parser. We use this to
  allow PREPARE run concurrently in presence of
  LOCK TABLES ... WRITE.
  Added signature for find_table_for_mdl_ugprade().
sql/set_var.cc:
  Global read lock functionality has been
  moved into a class.
sql/sp_head.cc:
  When creating TABLE_LIST elements for prelocking or
  system tables set the type of request for metadata
  lock according to the operation that will be performed
  on the table.
sql/sql_base.cc:
  - Updated code to use the new MDL API.
  - In order to avoid locks starvation we take upgradable
    locks all at once. As result implicitly locked tables no
    longer get an upgradable lock. Consequently DDL and FLUSH
    TABLES for such tables is prohibited.
    find_write_locked_table() was replaced by
    find_table_for_mdl_upgrade() function.
    open_table() was adjusted to return TABLE instance with
    upgradable ticket when necessary.
  - We no longer wait for all locks on OT_WAIT back off
    action -- only on the lock that caused the wait
    conflict. Moreover, now we distinguish cases when we
    have to wait due to conflict in MDL and old version
    of table in TDC.
  - Upate mysql_notify_threads_having_share_locks()
    to only abort thr_lock.c waits of threads that
    have open HANDLERs, since lock conflicts with only
    these threads now can lead to deadlocks not detectable
    by the MDL deadlock detector.
  - Remove mysql_abort_transactions_with_shared_locks()
    which is no longer needed.
sql/sql_class.cc:
  Global read lock functionality has been moved into a class.
  Re-arranged code in THD::cleanup() to simplify assert.
sql/sql_class.h:
  Introduced class to incapsulate global read lock
  functionality.
  Now sentinel in MDL subsystem guards the global read lock
  as well as LOCK TABLES and HANDLER locks. Adjusted code
  accordingly.
sql/sql_db.cc:
  Global read lock functionality has been moved into a class.
sql/sql_delete.cc:
  We no longer acquire upgradable metadata locks on tables
  which are locked by LOCK TABLES implicitly. As result
  TRUNCATE TABLE is no longer allowed for such tables.
  Updated code to use the new MDL API.
sql/sql_handler.cc:
  Inform MDL_context about presence of open HANDLERs.
  Since HANLDERs break MDL protocol by acquiring table-level
  lock while holding only S metadata lock on a table MDL
  subsystem should take special care about such contexts (Now
  this is the only case when mysql_lock_abort() is used).
sql/sql_parse.cc:
  Global read lock functionality has been moved into a class.
  Do not take upgradable metadata locks when opening tables
  for CREATE TABLE SELECT as it is not necessary and limits
  concurrency.
  When initializing TABLE_LIST objects before adding them
  to the table list set the type of request for metadata lock
  according to the operation that will be performed on the
  table.
  We no longer acquire upgradable metadata locks on tables
  which are locked by LOCK TABLES implicitly. As result FLUSH
  TABLES is no longer allowed for such tables.
sql/sql_prepare.cc:
  Use MYSQL_OPEN_FORCE_SHARED_MDL flag when opening
  tables during PREPARE. This allows PREPARE to run
  concurrently in presence of LOCK TABLES ... WRITE.
sql/sql_rename.cc:
  Global read lock functionality has been moved into a class.
sql/sql_show.cc:
  Updated code to use the new MDL API.
sql/sql_table.cc:
  Global read lock functionality has been moved into a class.
  We no longer acquire upgradable metadata locks on tables
  which are locked by LOCK TABLES implicitly. As result DROP
  TABLE is no longer allowed for such tables.
  Updated code to use the new MDL API.
sql/sql_trigger.cc:
  Global read lock functionality has been moved into a class.
  We no longer acquire upgradable metadata locks on tables
  which are locked by LOCK TABLES implicitly. As result
  CREATE/DROP TRIGGER is no longer allowed for such tables.
  Updated code to use the new MDL API.
sql/sql_view.cc:
  Global read lock functionality has been moved into a class.
  Fixed results of wrong merge that led to misuse of GLR API.
  CREATE VIEW statement is not a commit statement.
sql/table.cc:
  When resetting TABLE_LIST objects for PS or SP re-execution
  set the type of request for metadata lock according to the
  operation that will be performed on the table. Do the same
  in auxiliary function initializing metadata lock requests
  in a table list.
sql/table.h:
  When initializing TABLE_LIST objects set the type of request
  for metadata lock according to the operation that will be
  performed on the table.
sql/transaction.cc:
  Global read lock functionality has been moved into a class.
2010-02-01 14:43:06 +03:00
..
add_anonymous_users.inc Bug#20166 mysql-test-run.pl does not test system privilege tables creation 2007-02-26 11:49:24 +01:00
analyze-sync_with_master.test Bug #38181 Please print more debug info when tests fail 2008-08-04 21:54:44 +02:00
analyze-timeout.test WL#4350 Add missing 'exit' 2008-09-09 09:49:58 +02:00
big_test.inc Moved some old test and added a new test to only be run with mysql-test-run --big 2005-04-07 19:24:14 +03:00
bug38347.inc Backporting patches for Bug#38347 (ALTER ROUTINE privilege 2009-10-22 16:51:51 +04:00
check-testcase.test Merge 5.0->5.1 2008-11-24 16:56:48 -05:00
check-warnings.test BUG#47612 - fix review comment 2009-10-07 16:25:36 +02:00
check_events_off.inc 1. Fix for Bug#41111 events_bugs fails sporadically on pushbuild 2009-01-09 15:10:03 +01:00
check_ipv6.inc Reviewed patch of QA results for WL#798. 2009-11-23 17:38:42 +01:00
check_var_limit.inc Add detection of in_addr_t 2003-08-28 06:08:17 +03:00
circular_rpl_for_4_hosts_init.inc WL#3754, circular replication tests 2008-04-25 20:54:42 +04:00
circular_rpl_for_4_hosts_sync.inc WL#3754, testing circular replication 2008-04-25 00:41:04 +04:00
cleanup_fake_relay_log.inc BUG#40482: server/mysqlbinlog crashes when reading invalid Incident_log_event 2008-12-29 17:04:10 +01:00
commit.inc Backport of: 2009-12-03 18:47:20 +03:00
common-tests.inc Added --pipe option for faster compile 2006-06-06 20:21:36 +03:00
concurrent.inc Bug#43733 Select on processlist let the embedded server crash (concurrent_innodb_safelog) 2009-06-04 23:36:34 +05:00
connect2.inc Avoid races in connect.test. 2008-03-17 14:26:00 +03:00
count_sessions.inc 1. Slice of fix for Bug#42003 tests missing the disconnect of connections <> default 2009-02-02 22:20:25 +01:00
ctype_common.inc Merge mysql.com:/home/bar/mysql-work/mysql-5.0.b27580 2008-03-06 08:41:05 +04:00
ctype_filesort.inc bug#7284: strnxfrm returns different results for equal strings 2005-01-13 18:12:04 +04:00
ctype_german.inc Bug#27877 incorrect german order in utf8_general_ci 2008-02-11 16:28:33 +04:00
ctype_innodb_like.inc ctype_innodb_like.inc: 2005-07-06 17:16:22 +05:00
ctype_like_escape.inc Add printout of file in which warning was detected 2006-10-06 00:57:10 +02:00
ctype_like_range_f1f2.inc Bug#32510 LIKE search fails with indexed 'eucjpms' and 'ujis' char column 2008-02-04 11:10:40 +04:00
ctype_regex.inc Bug#31081 server crash in regexp function 2007-10-05 12:15:11 +05:00
ddl_i18n.check_events.inc Patch for the following bugs: 2007-06-28 21:34:54 +04:00
ddl_i18n.check_sp.inc Patch for the following bugs: 2007-06-28 21:34:54 +04:00
ddl_i18n.check_triggers.inc Patch for the following bugs: 2007-06-28 21:34:54 +04:00
ddl_i18n.check_views.inc Fix for Bug#30217: Views: changes in metadata behaviour 2008-02-22 13:30:33 +03:00
deadlock.inc Merge moksha.local:/Users/davi/mysql/push/bugs/25164-5.0 2007-08-27 10:19:58 -03:00
default_client.cnf WL#1349 Use operating system localization to send it as a default client character set 2009-10-21 17:59:47 +05:00
default_my.cnf WL#1349 Use operating system localization to send it as a default client character set 2009-10-21 17:59:47 +05:00
default_mysqld.cnf 8M was too small for the InnoDB data file, needs 10M. 2009-08-12 16:39:50 +02:00
default_ndbd.cnf Bug#39849 ndb tests fail sporadically on pushbuild: "out of connection objects" 2009-01-29 15:22:02 +01:00
delete_anonymous_users.inc Masking out some more errors and warnings that are benign. 2008-02-04 07:15:14 +01:00
diff_master_slave.inc BUG#37145 Killing a statement doing DDL may log binlog event with error code 1053 2009-03-27 13:19:50 +08:00
diff_tables.inc Bug#40465: mysqldump.test does no checking of dump or restore. 2009-05-21 16:03:53 -04:00
endspace.inc Move common trailing space checks into an include file. 2004-12-01 19:25:05 +04:00
get_binlog_dump_thread_id.inc Workaround non portable use of "grep" and "cut" by loading the whole processlist 2007-02-26 09:16:22 +01:00
gis_generic.inc Merge quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/maint/50 2007-03-29 12:00:32 +02:00
gis_keys.inc Bug#31909 - New gis.test creates warnings files 2007-11-01 15:03:09 +01:00
grant_cache.inc Fix for Bug#42308 Several server tests do not pass MTR's --check option 2009-05-15 12:15:56 +02:00
handler.inc Implement new type-of-operation-aware metadata locks. 2010-02-01 14:43:06 +03:00
have_32bit.inc Patch for bug#36875: Inserted review results. 2009-01-08 19:13:57 +01:00
have_64bit.inc Patch for bug#36875: Inserted review results. 2009-01-08 19:13:57 +01:00
have_archive.inc Bug#30563: Is not possible to create rpl_ or innodb test if needed \ 2008-07-04 12:41:27 -04:00
have_big5.inc Bug#30563: Is not possible to create rpl_ or innodb test if needed \ 2008-07-04 12:41:27 -04:00
have_binlog_format_mixed.inc Merge from 5.0. Add new 5.1 files. Drop bdb. 2008-07-04 14:48:25 -04:00
have_binlog_format_mixed_or_row.inc Merge from 5.0. Add new 5.1 files. Drop bdb. 2008-07-04 14:48:25 -04:00
have_binlog_format_mixed_or_statement.inc Merge from 5.0. Add new 5.1 files. Drop bdb. 2008-07-04 14:48:25 -04:00
have_binlog_format_row.inc Merge from 5.0. Add new 5.1 files. Drop bdb. 2008-07-04 14:48:25 -04:00
have_binlog_format_row_or_statement.inc Merge from 5.0. Add new 5.1 files. Drop bdb. 2008-07-04 14:48:25 -04:00
have_binlog_format_statement.inc Merge from 5.0. Add new 5.1 files. Drop bdb. 2008-07-04 14:48:25 -04:00
have_blackhole.inc Bug#30563: Is not possible to create rpl_ or innodb test if needed \ 2008-07-04 12:41:27 -04:00
have_case_insensitive_file_system.inc Bug#37402: Mysql cant read partitioned table with capital letter in the name 2008-07-11 01:14:13 +02:00
have_case_insensitive_fs.inc Bug#41049 does syntax "grant" case insensitive? 2009-10-27 12:09:19 +04:00
have_case_sensitive_file_system.inc Bug#30563: Is not possible to create rpl_ or innodb test if needed \ 2008-07-04 12:41:27 -04:00
have_compress.inc Bug#30563: Is not possible to create rpl_ or innodb test if needed \ 2008-07-04 12:41:27 -04:00
have_cp866.inc Patch for the following bugs: 2007-06-28 21:34:54 +04:00
have_cp932.inc Bug#30563: Is not possible to create rpl_ or innodb test if needed \ 2008-07-04 12:41:27 -04:00
have_cp1250_ch.inc Bug#30563: Is not possible to create rpl_ or innodb test if needed \ 2008-07-04 12:41:27 -04:00
have_cp1251.inc Patch for the following bugs: 2007-06-28 21:34:54 +04:00
have_crypt.inc Bug#30563: Is not possible to create rpl_ or innodb test if needed \ 2008-07-04 12:41:27 -04:00
have_csv.inc Bug#30563: Is not possible to create rpl_ or innodb test if needed \ 2008-07-04 12:41:27 -04:00
have_debug.inc Merge from 5.0. Add new 5.1 files. Drop bdb. 2008-07-04 14:48:25 -04:00
have_debug_sync.inc WL#4259 - Debug Sync Facility 2009-09-29 17:38:40 +02:00
have_dynamic_loading.inc Bug#45605: ps_not_windows.test fails: 2009-09-04 17:02:17 -03:00
have_eucjpms.inc Bug#30563: Is not possible to create rpl_ or innodb test if needed \ 2008-07-04 12:41:27 -04:00
have_euckr.inc Bug#30563: Is not possible to create rpl_ or innodb test if needed \ 2008-07-04 12:41:27 -04:00
have_example_plugin.inc Bug#45605: ps_not_windows.test fails: 2009-09-04 17:02:17 -03:00
have_exampledb.inc Bug#30563: Is not possible to create rpl_ or innodb test if needed \ 2008-07-04 12:41:27 -04:00
have_gb2312.inc Bug#30563: Is not possible to create rpl_ or innodb test if needed \ 2008-07-04 12:41:27 -04:00
have_gbk.inc Bug#30563: Is not possible to create rpl_ or innodb test if needed \ 2008-07-04 12:41:27 -04:00
have_geometry.inc Bug#30563: Is not possible to create rpl_ or innodb test if needed \ 2008-07-04 12:41:27 -04:00
have_innodb.inc Bug#30563: Is not possible to create rpl_ or innodb test if needed \ 2008-07-04 12:41:27 -04:00
have_koi8r.inc Patch for the following bugs: 2007-06-28 21:34:54 +04:00
have_latin2_ch.inc Bug#30563: Is not possible to create rpl_ or innodb test if needed \ 2008-07-04 12:41:27 -04:00
have_local_infile.inc Changes to fix tests in pushbuild. 2008-01-31 12:17:40 +01:00
have_log_bin.inc merged 5.1 main to 5.1-rpl 2008-08-04 07:04:47 +02:00
have_lowercase0.inc Bug#37402: Mysql cant read partitioned table with capital letter in the name 2008-07-11 01:14:13 +02:00
have_lowercase1.inc Bug #27653: Temp table can't be created if lower_case_table_names=1 and 2007-04-30 23:16:46 +02:00
have_lowercase2.inc Bug#37402: Mysql cant read partitioned table with capital letter in the name 2008-07-11 01:14:13 +02:00
have_multi_ndb.inc Bug#30563: Is not possible to create rpl_ or innodb test if needed \ 2008-07-04 12:41:27 -04:00
have_mysql_upgrade.inc BUG#43579 mysql_upgrade tries to alter log tables on replicated database 2009-09-28 14:24:19 +08:00
have_ndb.inc Bug#30563: Is not possible to create rpl_ or innodb test if needed \ 2008-07-04 12:41:27 -04:00
have_ndb_extra.inc wl2325 wl2324 2006-01-12 19:51:02 +01:00
have_ndbapi_examples.inc merged 5.1 main to 5.1-rpl 2008-08-04 07:04:47 +02:00
have_nodebug.inc Bug#33637 SHOW PROCEDURE CODE/SHOW FUNCTION CODE sp_name gives a syntax error. 2009-10-29 10:51:04 -06:00
have_not_innodb_plugin.inc Bug#32430: 'show innodb status' causes errors 2009-09-25 11:26:49 +02:00
have_outfile.inc Merge from 5.0. Add new 5.1 files. Drop bdb. 2008-07-04 14:48:25 -04:00
have_partition.inc Merge from 5.0. Add new 5.1 files. Drop bdb. 2008-07-04 14:48:25 -04:00
have_profiling.inc Bug #44651 "have_community_features" variable should be renamed 2009-10-09 15:59:25 +02:00
have_query_cache.inc Merge from 5.0. Add new 5.1 files. Drop bdb. 2008-07-04 14:48:25 -04:00
have_semisync_plugin.inc Skip semisync test if the plugin-dir is not set to semisync plugin dir 2009-10-23 21:26:17 +08:00
have_simple_parser.inc Bug#45605: ps_not_windows.test fails: 2009-09-04 17:02:17 -03:00
have_sjis.inc Bug#30563: Is not possible to create rpl_ or innodb test if needed \ 2008-07-04 12:41:27 -04:00
have_ssl.inc Bug#30563: Is not possible to create rpl_ or innodb test if needed \ 2008-07-04 12:41:27 -04:00
have_ssl_communication.inc WL#4641 Heartbeat testing 2009-10-02 23:24:40 +04:00
have_symlink.inc Merge from 5.0. Add new 5.1 files. Drop bdb. 2008-07-04 14:48:25 -04:00
have_tis620.inc Bug#30563: Is not possible to create rpl_ or innodb test if needed \ 2008-07-04 12:41:27 -04:00
have_ucs2.inc Bug#30563: Is not possible to create rpl_ or innodb test if needed \ 2008-07-04 12:41:27 -04:00
have_udf.inc Bug#45605: ps_not_windows.test fails: 2009-09-04 17:02:17 -03:00
have_ujis.inc Bug#30563: Is not possible to create rpl_ or innodb test if needed \ 2008-07-04 12:41:27 -04:00
have_utf8.inc Patch for the following bugs: 2007-06-28 21:34:54 +04:00
implicit_commit_helper.inc Backport of: 2009-12-03 18:47:20 +03:00
index_merge1.inc automerge 2009-06-15 17:36:51 +03:00
index_merge2.inc fix for Bug#46897 'Test "index_merge_innodb" fails (mostly)': 2009-08-25 17:53:43 +02:00
index_merge_2sweeps.inc This changeset belongs to 2006-08-16 14:58:49 +02:00
index_merge_ror.inc Merge mysql.com:/home/svoj/devel/mysql/BUG25048/mysql-5.0-engines 2006-12-26 18:04:31 +04:00
index_merge_ror_cpk.inc This changeset belongs to 2006-08-16 14:58:49 +02:00
innodb_rollback_on_timeout.inc Bug#32754 - InnoDB tests do not prepare or clean up correctly 2007-11-27 09:25:45 +01:00
innodb_trx_weight.inc Apply the following innodb-5.1-* snapshots: ss1489, ss1496, ss1550, ss1569. 2007-07-10 05:37:43 -06:00
ipv6.inc Reviewed patch of QA results for WL#798. 2009-11-23 17:38:42 +01:00
ipv6_clients.inc Reviewed patch of QA results for WL#798. 2009-11-23 17:38:42 +01:00
is_embedded.inc Bug#35997 Event scheduler seems to let the server crash, if it is embedded. 2008-05-09 10:26:06 +02:00
kill_query.inc BUG#37145 Killing a statement doing DDL may log binlog event with error code 1053 2009-03-27 13:19:50 +08:00
kill_query_and_diff_master_slave.inc BUG#37145 Killing a statement doing DDL may log binlog event with error code 1053 2009-03-27 13:19:50 +08:00
linux_sys_vars.inc Fix for Bug#36876: 2008-12-02 11:05:56 +01:00
load_sysvars.inc Fixes for bug#36522. 2008-05-08 20:13:39 +02:00
loaddata_autocom.inc WL#4189 2007-12-12 18:19:24 +01:00
master-slave-end.inc BUG#37051 Replication rules not evaluated correctly 2009-03-05 18:10:44 +08:00
master-slave-reset.inc BUG#48048: Deprecated constructs need removal in Betony 2009-11-04 12:28:20 +00:00
master-slave.inc BUG#48048: Deprecated constructs need removal in Betony 2009-11-04 12:28:20 +00:00
mix1.inc Backport of: 2009-12-08 10:39:49 +03:00
mix2.inc Backport of revno ## 2617.31.1, 2617.31.3, 2617.31.4, 2617.31.5, 2009-12-05 02:02:48 +03:00
mix2_ucs2.inc 5.1-specific fix for bug #18743. 2007-02-19 15:31:55 +03:00
mtr_check.sql Bug#43983 Support force restart of all servers after test ended 2009-03-31 15:39:40 +02:00
mtr_warnings.sql Backport of revno: 2617.68.18 2009-12-09 16:13:00 +01:00
mysqlbinlog_row_engine.inc Postfix of tests after merge 2008-09-06 12:49:43 +08:00
mysqldump.inc Bug#40465 - mysqldump.test does no checking of dump or restore 2009-05-22 10:38:17 -04:00
mysqltest-x.inc Bug #38181 Please print more debug info when tests fail 2008-08-04 21:54:44 +02:00
ndb_backup.inc merge 5.0 -> 5.1 2009-03-15 18:39:48 -04:00
ndb_backup_print.inc Bug#38311 Some tests use 'rm' which is not portable 2008-09-20 02:21:28 -04:00
ndb_default_cluster.inc Bug #20820 auto inc table not handled correctly when restored from cluster backup 2006-07-06 18:50:44 +02:00
ndb_master-slave.inc correct include file 2007-09-05 18:02:46 +02:00
ndb_master-slave_2ch.inc WL#3754, testing circular replication 2008-04-25 00:41:04 +04:00
ndb_not_readonly.inc Revert removal of ER_GET_ERRMSG 2008-01-10 10:25:45 +01:00
ndb_restore_master.inc WL#4189 2007-12-12 18:19:24 +01:00
ndb_restore_slave_eoption.inc WL#4189 2007-12-12 18:19:24 +01:00
ndb_setup_slave.inc Changed mysql.apply_status, mysql.binlog_index, and mysql.schema to mysql.ndb_apply_status, mysql.ndb_binlog_index, and mysql.ndb_schema 2006-12-01 15:49:07 +01:00
ndb_wait_connected.inc Bug#32025 ndb_waiter does too many roundtrips to ndb_mgmd 2008-02-21 13:23:58 +01:00
no_running_event_scheduler.inc 1. Fix for Bug#41111 events_bugs fails sporadically on pushbuild 2009-01-09 15:10:03 +01:00
no_running_events.inc 1. Fix for Bug#41111 events_bugs fails sporadically on pushbuild 2009-01-09 15:10:03 +01:00
no_valgrind_without_big.inc Don't run funcs_1/myisam_views test case under valgrind, unless 2009-06-09 11:36:14 -03:00
not_as_root.inc Bug #32307 mysqltest - does not detect illegal if syntax 2008-08-04 12:38:50 +02:00
not_embedded.inc Small fixes for merge. 2007-04-10 18:01:29 +03:00
not_ndb.inc wl2325 wl2324 2006-01-12 19:51:02 +01:00
not_ndb_default.inc BUG#48048: Deprecated constructs need removal in Betony 2009-11-04 12:28:20 +00:00
not_openssl.inc BUG#10589: des_encrypt functionality always return NULL 2005-06-17 18:07:46 +02:00
not_valgrind.inc WL#3337 (Events new architecture) 2006-07-17 16:52:45 +02:00
not_windows.inc Update 'abort_not_supported_test' to print a reason why the test was aborted 2006-07-19 14:25:52 +02:00
not_windows_embedded.inc Bug#47801 The plugin test fails with the Embedded Server on Windows 2009-10-08 10:39:15 +02:00
one_thread_per_connection.inc Fixed compiler warnings 2007-02-23 13:13:55 +02:00
parser_bug21114.inc Bug#21114 (Foreign key creation fails to table with name format) 2006-11-02 11:01:53 -07:00
partition_date_range.inc post push fix for bug#20577 and bug#46362, disabling warnings 2009-09-01 14:53:27 +02:00
ps_conv.inc Bug#27590: Wrong DATE/DATETIME comparison. 2007-04-27 00:12:09 +04:00
ps_create.inc bug#10466: Datatype "timestamp" displays "YYYYMMDDHHMMSS" irrespective of display sizes. 2005-06-20 12:09:00 +02:00
ps_ddl_1.inc Improve the testcases for Bug 12093 in ps_ddl.test 2008-08-13 21:42:21 +02:00
ps_modify.inc Bug #39265: fix for the bug 33699 should be reverted 2009-02-05 13:49:32 +04:00
ps_modify1.inc Small bug fix 2004-12-13 21:00:43 +01:00
ps_query.inc Bug #32400: Complex SELECT query returns correct result 2007-11-20 19:18:21 +02:00
ps_renew.inc Results of WL#1856 "Conversion of client_test.c tests cases to mysqltest 2004-09-25 19:08:02 +04:00
query_cache.inc Fix for Bug#42308 Several server tests do not pass MTR's --check option 2009-05-15 12:15:56 +02:00
query_cache_sql_prepare.inc Backport of: 2009-10-13 23:31:03 +04:00
read_many_rows.inc Merge 50 -> 51 (-opt changesets) 2007-08-01 18:59:41 -06:00
report-features.test Change typo . -> , 2008-09-20 17:00:05 +03:00
reset_master_and_slave.inc BUG#37975: wait_for_slave_* should increase the timeout 2008-07-10 18:09:39 +02:00
restart_mysqld.inc BUG#40704 main.events_restart fails sporadically in pushbuild: "server has gone away" 2008-12-25 17:53:24 +08:00
rowid_order.inc This changeset belongs to 2006-08-16 19:29:49 +02:00
rpl_events.inc Bug#30128: The reason that sometimes events were executed because without STARTS 2009-01-21 18:48:12 +03:00
rpl_ip_mix.inc No more socket and no more diffs in result files. 2009-11-27 09:02:32 +01:00
rpl_ip_mix2.inc No more socket and no more diffs in result files. 2009-11-27 09:02:32 +01:00
rpl_ipv6.inc Improvements to reduce the output for better reading and more stability. 2009-11-26 09:03:04 +01:00
rpl_loaddata_charset.inc Manual Merge 2009-08-12 13:31:56 +08:00
rpl_multi_engine.inc BUG#40707 rpl_multi_engine fails sporadically in pushbuild 2008-11-24 14:57:23 +08:00
rpl_multi_engine2.inc BUG#21842 (Cluster fails to replicate to innodb or myisam with err 134 2007-08-26 14:31:10 +02:00
rpl_multi_engine3.inc Removing sleeps; rpl_row_basic_8partition falls from 2 minutes 2006-09-07 18:01:42 +02:00
rpl_stmt_seq.inc Bug#18946 Test case rpl_ndb_ddl disabled 2007-03-06 18:15:31 +01:00
rpl_udf.inc Added ORDER BY to udf select so that results are ordered. 2007-08-29 14:36:08 -07:00
running_event_scheduler.inc 1. Fix for Bug#41111 events_bugs fails sporadically on pushbuild 2009-01-09 15:10:03 +01:00
safe_set_to_maybe_ro_var.inc Bug#22067 rpl_rbr_to_sbr and some other fail if NDB is default storage 2006-09-15 17:25:13 +03:00
select_ndb_apply_status.inc select_ndb_apply_status.inc: 2007-06-21 23:29:14 +02:00
set_binlog_format_mixed.sql WL#3949 Test should set binlog format dnamically 2007-11-23 13:29:31 +01:00
set_binlog_format_row.sql WL#3949 Test should set binlog format dnamically 2007-11-23 13:29:31 +01:00
set_binlog_format_statement.sql WL#3949 Test should set binlog format dnamically 2007-11-23 13:29:31 +01:00
setup_fake_relay_log.inc Backport post fix compiler warnings and test failures for BUG#25192 BUG#12190 2009-10-02 16:40:06 +08:00
show_binary_logs.inc Bug #18199 PURGE BINARY LOGS fails silently with missing logs; 2008-03-17 20:19:04 +02:00
show_binlog_events.inc merge from 5.1-rpl+2 repo to a local branch with HB and bug@27808 fixes 2009-10-01 20:22:44 +03:00
show_binlog_events2.inc WL#342 heartbeat 2009-09-29 14:16:23 +03:00
show_binlog_using_logname.inc Many files: 2007-06-21 21:58:59 +02:00
show_master_logs.inc Fix for versional test 2008-01-14 15:38:02 +08:00
show_master_status.inc Fix for versional test 2008-01-14 15:38:02 +08:00
show_msg.inc Update mysqltest to latest version 2006-10-03 15:33:44 +02:00
show_msg80.inc Update mysqltest to latest version 2006-10-03 15:33:44 +02:00
show_relaylog_events.inc BUG#28777, WL#4293: SHOW BINLOG EVENTS does not work on relay log 2009-09-29 00:04:20 +01:00
show_rpl_debug_info.inc BUG#37718: rpl.rpl_stm_mystery22 fails sporadically on pushbuild 2009-01-09 15:12:31 +01:00
show_slave_status.inc BUG#24954 (Last_errno and Last_error not set after master_retry_count has 2007-06-11 22:15:39 +02:00
show_slave_status2.inc Fix for versional test 2008-01-14 15:38:02 +08:00
sp-vars.inc Remove compiler warnings 2006-11-20 22:42:06 +02:00
start_slave.inc BUG#37051 Replication rules not evaluated correctly 2009-03-05 18:10:44 +08:00
stop_slave.inc BUG#37051 Replication rules not evaluated correctly 2009-03-05 18:10:44 +08:00
strict_autoinc.inc Bug#18908: ERROR 1406 (22001): Data too long for column :: using utf8 2006-10-30 10:14:03 +04:00
sync_slave_io_with_master.inc BUG#37718: rpl.rpl_stm_mystery22 fails sporadically on pushbuild 2009-01-09 15:12:31 +01:00
system_db_struct.inc WL #3031 2006-12-11 11:44:03 -05:00
test_fieldsize.inc Bug #30703 SHOW STATUS LIKE 'Slave_running' is not compatible with `SHOW SLAVE 2009-09-29 15:10:37 +01:00
test_outfile.inc Make it possible to run mysql-test-run.pl with default test suite in different vardir. 2006-01-24 08:30:54 +01:00
testdb_only.inc WL#4189 2007-12-12 18:19:24 +01:00
tpcb.inc Many files: 2007-06-21 21:58:59 +02:00
tpcb_disk_data.inc Many files: 2007-06-21 21:58:59 +02:00
unsafe_binlog.inc Bug #28757 Test program / embedded server crash in test "unsafe_binlog_innodb" 2007-06-12 17:53:16 +05:00
uses_vardir.inc Bug#28718 Running backup testcase fails in mysql testsuite of MySQL-enterprise-5.0.40 2007-06-07 23:18:19 +02:00
varchar.inc Bug #28842 Different 'duplicate key' error code between 5.0 and 5.1 2007-06-06 10:57:07 -07:00
wait_condition.inc Fix for 2008-06-25 16:59:38 +02:00
wait_condition_sp.inc Final fix for bug#36773: Moved patch in 5.1 from rpl to bug team tree. 2008-12-17 14:38:02 +01:00
wait_for_binlog_event.inc WL#4091, replace sleeps 2008-02-28 14:36:14 +03:00
wait_for_ndb_to_binlog.inc Backport for WL#4416 2009-11-27 02:32:01 +03:00
wait_for_query_to_succeed.inc Reviewed fix for bug#40882: Replaced "sleep 1" by wait_condition, added save/restore start values and closed open sessions. When trying to use "wait_for_query_to_succeed" a type has been fixed, also in "rename.test": Added session count and check and replaced error numbers. 2009-02-11 10:27:52 +01:00
wait_for_slave_io_error.inc BUG#44270: Post-push fix 2009-06-26 12:05:56 +01:00
wait_for_slave_io_to_start.inc BUG#37718: rpl.rpl_stm_mystery22 fails sporadically on pushbuild 2009-01-09 15:12:31 +01:00
wait_for_slave_io_to_stop.inc BUG#37718: rpl.rpl_stm_mystery22 fails sporadically on pushbuild 2009-01-09 15:12:31 +01:00
wait_for_slave_param.inc Bug#37267 - connect() EINPROGRESS failures mishandled in client library 2009-09-30 12:28:15 +02:00
wait_for_slave_sql_error.inc BUG#37051 Replication rules not evaluated correctly 2009-03-05 18:10:44 +08:00
wait_for_slave_sql_error_and_skip.inc BUG#37051 Replication rules not evaluated correctly 2009-03-05 18:10:44 +08:00
wait_for_slave_sql_to_start.inc BUG#37718: rpl.rpl_stm_mystery22 fails sporadically on pushbuild 2009-01-09 15:12:31 +01:00
wait_for_slave_sql_to_stop.inc BUG#37718: rpl.rpl_stm_mystery22 fails sporadically on pushbuild 2009-01-09 15:12:31 +01:00
wait_for_slave_to_start.inc BUG#37718: rpl.rpl_stm_mystery22 fails sporadically on pushbuild 2009-01-09 15:12:31 +01:00
wait_for_slave_to_stop.inc BUG#37718: rpl.rpl_stm_mystery22 fails sporadically on pushbuild 2009-01-09 15:12:31 +01:00
wait_for_status_var.inc Bug#37716. 2009-04-04 01:33:13 +04:00
wait_show_condition.inc Bug#13963 SHOW SLAVE HOSTS is unreliable 2009-10-20 14:30:15 +08:00
wait_until_connected_again.inc push to 5.1-buteam tree. 2008-12-10 10:51:43 +00:00
wait_until_count_sessions.inc Merge 5.0 -> 5.1 of fix for Bug#42003 and Bug#43114 2009-03-06 15:56:17 +01:00
wait_until_disconnected.inc Partial backport for BUG#41399, more precisely, the changes to 2009-10-01 00:32:15 +01:00
wait_until_rows_count.inc BUG#25211: events_bugs.test fails on sapsrv1 2007-01-19 18:33:48 +03:00
windows.inc Add test for named pipes on windows 2007-09-24 12:42:44 +02:00
windows_sys_vars.inc Fix for Bug#36876: 2008-12-02 11:05:56 +01:00