mariadb/storage/innobase
Vicențiu Ciorbaru b87873b221 Merge branch 'merge-innodb-5.6' into bb-10.0-vicentiu
This merge reverts commit 6ca4f693c1ce472e2b1bf7392607c2d1124b4293
from current 5.6.36 innodb.

Bug #23481444	OPTIMISER CALL ROW_SEARCH_MVCC() AND READ THE
                       INDEX APPLIED BY UNCOMMITTED ROW
Problem:
========
row_search_for_mysql() does whole table traversal for range query
even though the end range is passed. Whole table traversal happens
when the record is not with in transaction read view.

Solution:
=========

Convert the innodb last record of page to mysql format and compare
with end range if the traversal of row_search_mvcc() exceeds 100,
no ICP involved. If it is out of range then InnoDB can avoid the
whole table traversal. Need to refactor the code little bit to
make it compile.

Reviewed-by: Jimmy Yang <jimmy.yang@oracle.com>
Reviewed-by: Knut Hatlen <knut.hatlen@oracle.com>
Reviewed-by: Dmitry Shulga <dmitry.shulga@oracle.com>
RB: 14660
2017-05-17 14:53:28 +03:00
..
api Merge branch 'merge-innodb-5.6' into 10.0 2015-08-03 16:23:58 +02:00
btr Merge branch 'merge-innodb-5.6' into bb-10.0-vicentiu 2017-05-17 14:53:28 +03:00
buf Merge branch 'merge-innodb-5.6' into bb-10.0-vicentiu 2017-05-17 14:53:28 +03:00
data 5.6.31 2016-06-21 14:21:03 +02:00
dict Merge branch 'merge-innodb-5.6' into bb-10.0-vicentiu 2017-05-17 14:53:28 +03:00
dyn Merge branch '5.5' into 10.0 2017-03-03 01:37:54 +02:00
eval move to storage/innobase 2015-05-04 19:17:21 +02:00
fil Merge branch 'merge-innodb-5.6' into bb-10.0-vicentiu 2017-05-17 14:53:28 +03:00
fsp Merge branch '5.5' into 10.0 2017-03-03 01:37:54 +02:00
fts MDEV-11233 CREATE FULLTEXT INDEX with a token longer than 127 bytes 2017-01-27 10:19:39 +02:00
fut move to storage/innobase 2015-05-04 19:17:21 +02:00
ha move to storage/innobase 2015-05-04 19:17:21 +02:00
handler Merge branch 'merge-innodb-5.6' into bb-10.0-vicentiu 2017-05-17 14:53:28 +03:00
ibuf Merge branch 'merge-innodb-5.6' into 10.0 2016-06-21 14:58:19 +02:00
include Merge branch 'merge-innodb-5.6' into bb-10.0-vicentiu 2017-05-17 14:53:28 +03:00
lock MDEV-12674 Innodb_row_lock_current_waits has overflow 2017-05-12 12:24:53 +03:00
log Merge branch 'merge-innodb-5.6' into bb-10.0-vicentiu 2017-05-17 14:53:28 +03:00
mach 5.6.35 2017-01-07 14:24:42 +02:00
mem 5.6.31 2016-06-21 14:21:03 +02:00
mtr Merge branch '5.5' into 10.0 2017-03-03 01:37:54 +02:00
mysql-test/storage_engine 5.5 merge 2014-11-19 17:23:39 +01:00
os Merge branch 'merge-innodb-5.6' into bb-10.0-vicentiu 2017-05-17 14:53:28 +03:00
page Merge branch '5.5' into 10.0 2017-03-03 01:37:54 +02:00
pars 5.6.31 2016-06-21 14:21:03 +02:00
que 5.6.24 2015-05-04 22:13:46 +02:00
read move to storage/innobase 2015-05-04 19:17:21 +02:00
rem Fix gcc 6.3.x compiler warnings. 2017-02-16 12:02:31 +02:00
row Merge branch 'merge-innodb-5.6' into bb-10.0-vicentiu 2017-05-17 14:53:28 +03:00
srv Merge branch 'merge-innodb-5.6' into bb-10.0-vicentiu 2017-05-17 14:53:28 +03:00
sync MDEV-12534 Use atomic operations whenever available 2017-04-20 16:29:12 +03:00
trx Merge branch 'merge-innodb-5.6' into bb-10.0-vicentiu 2017-05-17 14:53:28 +03:00
usr move to storage/innobase 2015-05-04 19:17:21 +02:00
ut MDEV-9276: MySQL Bug #78754: FK definitions missing from SHOW CREATE TABLE in "innodb_read_only" mode 2015-12-14 22:10:37 +02:00
CMakeLists.txt MDEV-8883 more cross-compiling fixes 2015-10-24 19:58:34 +02:00
compile-innodb move to storage/innobase 2015-05-04 19:17:21 +02:00
COPYING.Google move to storage/innobase 2015-05-04 19:17:21 +02:00
COPYING.Percona move to storage/innobase 2015-05-04 19:17:21 +02:00
Doxyfile move to storage/innobase 2015-05-04 19:17:21 +02:00
ha_innodb.def move to storage/innobase 2015-05-04 19:17:21 +02:00
plugin_exports Solaris compilation failure: xtradb is linked in statically, ha_innodb.so needs 2014-05-01 14:05:52 +02:00