1
0
mirror of https://github.com/MariaDB/server.git synced 2026-01-06 05:22:24 +03:00
Files
mariadb/mysql-test/include
Sergey Vojtovich d665e79c5b MDEV-7660 - MySQL WL#6671 "Improve scalability by not using thr_lock.c locks
for InnoDB tables"

Don't use thr_lock.c locks for InnoDB tables. Below is list of changes that
were needed to implement this:
- HANDLER OPEN acquireis MDL_SHARED_READ instead of MDL_SHARED
- HANDLER READ calls external_lock() even if SE is not going to be locked by
  THR_LOCK
- InnoDB lock wait timeouts are now honored which are much shorter by default
  than server lock wait timeouts (1 year vs 50 seconds)
- with @@autocommit= 1 LOCK TABLES disables autocommit implicitely, though
  user still sees @@autocommt= 1
- the above starts implicit transaction
- transactions started by LOCK TABLES are now rolled back on disconnect
  (previously everything was committed due to autocommit)
- transactions started by LOCK TABLES are now rolled back by ROLLBACK
  (previously everything was committed due to autocommit)
- it is now impossible to change BINLOG_FORMAT under LOCK TABLES (at least
  to statement) due to running transaction
- LOCK TABLES WRITE is additionally handled by MDL
- ...in contrast LOCK TABLES READ protection against DML is pure InnoDB
- combining transactional and non-transactional tables under LOCK TABLES
  may cause rolled back changes in transactional table and "committed"
  changes in non-transactional table
- user may disable innodb_table_locks, which will cause LOCK TABLES to be
  noop basically

Removed tests for BUG#45143 and BUG#55930 which cover InnoDB + THR_LOCK. To
operate properly these tests require code flow to go through THR_LOCK debug
sync points, which is not the case after this patch. These tests are removed
by WL#6671 as well. An alternative is to port them to different storage engine.
2016-11-03 16:35:15 +04:00
..
2013-03-28 17:19:09 +04:00
2010-02-24 13:15:34 +04:00
2013-12-20 12:42:33 +04:00
2016-09-06 12:50:02 +04:00
2016-05-30 16:56:29 +04:00
2011-10-19 21:45:18 +02:00
2014-03-27 22:26:58 +01:00
2011-10-19 21:45:18 +02:00
2012-09-27 20:09:46 +02:00
2010-08-25 22:22:33 +02:00
2016-09-10 16:04:44 +02:00
2010-09-12 18:40:01 +02:00
2012-10-01 13:15:29 +02:00
2012-01-13 15:50:02 +01:00
2010-10-20 16:56:09 +02:00
2010-10-20 16:56:09 +02:00
2010-02-24 13:15:34 +04:00
2010-02-24 13:15:34 +04:00
2010-02-24 13:15:34 +04:00
2009-12-03 18:47:20 +03:00
2012-01-13 15:50:02 +01:00
2012-09-10 17:26:54 +03:00
2014-08-02 21:26:16 +02:00
2011-07-15 09:09:33 +02:00
2013-12-22 17:06:50 +01:00
2010-09-16 09:58:57 +02:00
2016-09-08 15:49:03 +03:00
2010-12-02 14:10:52 +03:00
2011-07-15 09:09:33 +02:00
2015-06-16 23:55:56 +02:00
2012-03-28 01:04:46 +02:00
2013-01-31 09:48:19 +01:00
2010-12-20 15:15:01 +01:00
2013-02-22 10:23:17 +01:00
2012-02-06 21:36:56 +01:00
2012-10-19 20:38:59 +02:00
2010-05-26 22:34:25 +08:00
2011-10-19 21:45:18 +02:00
2011-07-02 22:08:51 +02:00
2010-12-22 00:37:35 -08:00