mariadb/storage/tokudb
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
..
doc 5.6.26-74.0 2015-10-26 12:57:57 +01:00
mysql-test MDEV-7660 - MySQL WL#6671 "Improve scalability by not using thr_lock.c locks 2016-11-03 16:35:15 +04:00
PerconaFT Fix compilation failure of TokuDB on BSD-like systems 2016-09-24 15:09:39 +02:00
tests 5.6.26-74.0 2015-10-26 12:57:57 +01:00
tools 5.6.26-74.0 2015-10-26 12:57:57 +01:00
CMakeLists.txt MDEV-6284: Remove CMakeLists.txt hack that mangled the server install file 2016-10-27 18:42:16 +03:00
ha_tokudb.cc misc after-merge changes: 2016-09-10 16:04:44 +02:00
ha_tokudb.h Merge branch 'merge-tokudb-5.6' into 10.0-tokudb-merge 2016-06-11 01:06:09 +02:00
ha_tokudb_admin.cc 5.6.30-76.3 2016-06-10 19:47:58 +02:00
ha_tokudb_alter_55.cc 5.6.26-74.0 2015-10-26 12:57:57 +01:00
ha_tokudb_alter_56.cc Merge branch '10.1' into 10.2 2016-06-30 16:38:05 +02:00
ha_tokudb_alter_common.cc 5.6.29-76.2 2016-04-26 20:58:29 +02:00
ha_tokudb_mrr_maria.cc 5.6.26-74.0 2015-10-26 12:57:57 +01:00
ha_tokudb_mrr_mysql.cc 5.6.26-74.0 2015-10-26 12:57:57 +01:00
ha_tokudb_update.cc 5.6.29-76.2 2016-04-26 20:58:29 +02:00
hatoku_cmp.cc Merge branch '10.1' into 10.2 2016-06-30 16:38:05 +02:00
hatoku_cmp.h 5.6.27-76.0 2015-12-15 17:23:58 +01:00
hatoku_defines.h Merge branch '10.1' into 10.2 2016-09-09 08:33:08 +02:00
hatoku_hton.cc Merge branch '10.1' into 10.2 2016-09-09 08:33:08 +02:00
hatoku_hton.h 5.6.29-76.2 2016-04-26 20:58:29 +02:00
tokudb.cnf clarify plugin-load usage in tokudb.cnf file 2014-01-21 17:20:51 +01:00
tokudb_background.cc 5.6.27-76.0 2015-12-15 17:23:58 +01:00
tokudb_background.h 5.6.27-76.0 2015-12-15 17:23:58 +01:00
tokudb_buffer.h 5.6.27-76.0 2015-12-15 17:23:58 +01:00
tokudb_card.h 5.6.29-76.2 2016-04-26 20:58:29 +02:00
tokudb_debug.h 5.6.29-76.2 2016-04-26 20:58:29 +02:00
tokudb_information_schema.cc Merge branch 'merge-tokudb-5.6' into 10.0-tokudb-merge 2016-06-11 01:06:09 +02:00
tokudb_information_schema.h Merge branch 'merge-tokudb-5.6' into 10.0-tokudb-merge 2016-06-10 20:48:59 +02:00
tokudb_math.h 5.6.27-76.0 2015-12-15 17:23:58 +01:00
tokudb_memory.h Merge branch 'merge-tokudb-5.6' into 10.0-tokudb-merge 2016-06-10 20:48:59 +02:00
tokudb_status.h 5.6.27-76.0 2015-12-15 17:23:58 +01:00
tokudb_sysvars.cc Merge branch 'merge/merge-tokudb-5.6' into 10.0 2016-08-10 19:57:13 +02:00
tokudb_sysvars.h Merge branch 'merge/merge-tokudb-5.6' into 10.0 2016-08-10 19:57:13 +02:00
tokudb_thread.cc 5.6.27-76.0 2015-12-15 17:23:58 +01:00
tokudb_thread.h 5.6.30-76.3 2016-06-10 19:47:58 +02:00
tokudb_time.h 5.6.27-76.0 2015-12-15 17:23:58 +01:00
tokudb_txn.h 5.6.27-76.0 2015-12-15 17:23:58 +01:00
tokudb_update_fun.cc General spell fixing in comments and strings 2016-06-08 14:17:23 +03:00
tokudb_vlq.h 5.6.26-74.0 2015-10-26 12:57:57 +01:00