mariadb/storage/innobase/row
Marko Mäkelä 27b9989d31 MDEV-12121 Introduce build option WITH_INNODB_AHI to disable innodb_adaptive_hash_index
The InnoDB adaptive hash index is sometimes degrading the performance of
InnoDB, and it is sometimes disabled to get more consistent performance.
We should have a compile-time option to disable the adaptive hash index.

Let us introduce two options:

OPTION(WITH_INNODB_AHI "Include innodb_adaptive_hash_index" ON)
OPTION(WITH_INNODB_ROOT_GUESS "Cache index root block descriptors" ON)

where WITH_INNODB_AHI always implies WITH_INNODB_ROOT_GUESS.

As part of this change, the misleadingly named function
trx_search_latch_release_if_reserved(trx) will be replaced with the macro
trx_assert_no_search_latch(trx) that will be empty unless
BTR_CUR_HASH_ADAPT is defined (cmake -DWITH_INNODB_AHI=ON).

We will also remove the unused column
INFORMATION_SCHEMA.INNODB_TRX.TRX_ADAPTIVE_HASH_TIMEOUT.
In MariaDB Server 10.1, it used to reflect the value of
trx_t::search_latch_timeout which could be adjusted during
row_search_for_mysql(). In 10.2, there is no such field.

Other than the removal of the unused column TRX_ADAPTIVE_HASH_TIMEOUT,
this is an almost non-functional change to the server when using the
default build options.

Some tests are adjusted so that they will work with both
-DWITH_INNODB_AHI=ON and -DWITH_INNODB_AHI=OFF. The test
innodb.innodb_monitor has been renamed to innodb.monitor
in order to track MySQL 5.7, and the duplicate tests
sys_vars.innodb_monitor_* are removed.
2017-03-03 16:55:50 +02:00
..
row0ext.cc
row0ftsort.cc Fixed issues found by buildbot 2017-01-11 09:18:35 +02:00
row0import.cc Merge 10.1 to 10.2. 2017-01-19 12:06:13 +02:00
row0ins.cc MDEV-6076 Persistent AUTO_INCREMENT for InnoDB 2016-12-16 09:19:19 +02:00
row0log.cc MDEV-12072 Do not unnecessarily construct rec_printer objects 2017-02-16 09:16:11 +02:00
row0merge.cc MDEV-12072 Do not unnecessarily construct rec_printer objects 2017-02-16 09:16:11 +02:00
row0mysql.cc Shut down InnoDB after aborted startup. 2017-02-01 09:30:55 +02:00
row0purge.cc Follow-up to MDEV-11713: Make more use of DBUG_LOG 2017-01-12 13:47:18 +02:00
row0quiesce.cc Remove MYSQL_TABLESPACES. 2017-01-18 08:30:43 +02:00
row0row.cc MDEV-11704 InnoDB: Failing assertion: dfield_is_null(dfield2) || dfield2->data 2017-02-13 18:12:16 +01:00
row0sel.cc MDEV-12121 Introduce build option WITH_INNODB_AHI to disable innodb_adaptive_hash_index 2017-03-03 16:55:50 +02:00
row0trunc.cc MDEV-12050 Remove unused InnoDB Memcached hooks 2017-02-13 11:24:02 +02:00
row0uins.cc
row0umod.cc
row0undo.cc MDEV-9282 Debian: the Lintian complains about "shlib-calls-exit" in ha_innodb.so 2016-12-28 15:54:24 +02:00
row0upd.cc MDEV-11713 Optimize DBUG_PRINT and introduce DBUG_LOG 2017-01-05 10:51:18 +02:00
row0vers.cc MDEV-11831 Make InnoDB mini-transaction memo checks stricter 2017-01-18 14:57:10 +02:00