mariadb/mysql-test/suite/handler
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
..
aria.result MDEV-7660 - MySQL WL#6671 "Improve scalability by not using thr_lock.c locks 2016-11-03 16:35:15 +04:00
aria.test
disabled.def Merge InnoDB 5.7 from mysql-5.7.14. 2016-09-08 15:49:03 +03:00
disconnect_4480.result MDEV-6720 - enable connection log in mysqltest by default 2016-03-31 10:11:16 +04:00
disconnect_4480.test
handler.inc MDEV-7660 - MySQL WL#6671 "Improve scalability by not using thr_lock.c locks 2016-11-03 16:35:15 +04:00
heap.result MDEV-7660 - MySQL WL#6671 "Improve scalability by not using thr_lock.c locks 2016-11-03 16:35:15 +04:00
heap.test
init.inc
innodb.result MDEV-7660 - MySQL WL#6671 "Improve scalability by not using thr_lock.c locks 2016-11-03 16:35:15 +04:00
innodb.test 10.0-base merge 2014-02-03 15:22:39 +01:00
interface.result MDEV-7660 - MySQL WL#6671 "Improve scalability by not using thr_lock.c locks 2016-11-03 16:35:15 +04:00
interface.test MDEV-7660 - MySQL WL#6671 "Improve scalability by not using thr_lock.c locks 2016-11-03 16:35:15 +04:00
myisam.result MDEV-7660 - MySQL WL#6671 "Improve scalability by not using thr_lock.c locks 2016-11-03 16:35:15 +04:00
myisam.test MDEV-4879 - Merge test cases for new CREATE TEMPORARY TABLE privilege model 2013-09-20 13:12:53 +04:00