diff options
author | Sergey Glukhov <sergey.glukhov@oracle.com> | 2010-11-23 13:18:47 +0300 |
---|---|---|
committer | Sergey Glukhov <sergey.glukhov@oracle.com> | 2010-11-23 13:18:47 +0300 |
commit | cf0cc723aaa08bf6929c3b0bb0ccd3fdca626af0 (patch) | |
tree | 5a7ec422ba91a7e2059bf3660b7d0f191368bf23 /support-files | |
parent | 412f11418a409388b4ff24906853069c20c14d46 (diff) | |
download | mariadb-git-cf0cc723aaa08bf6929c3b0bb0ccd3fdca626af0.tar.gz |
Bug#56862 Execution of a query that uses index merge returns a wrong result
In case of low memory sort buffer QUICK_INDEX_MERGE_SELECT creates
temporary file where is stores row ids which meet QUICK_SELECT ranges
except of clustered pk range, clustered range is processed separately.
In init_read_record we check if temporary file is used and choose
appropriate record access method. It does not take into account that
temporary file contains partial result in case of QUICK_INDEX_MERGE_SELECT
with clustered pk range.
The fix is always to use rr_quick if QUICK_INDEX_MERGE_SELECT
with clustered pk range is used.
mysql-test/suite/innodb/r/innodb_mysql.result:
test case
mysql-test/suite/innodb/t/innodb_mysql.test:
test case
mysql-test/suite/innodb_plugin/r/innodb_mysql.result:
test case
mysql-test/suite/innodb_plugin/t/innodb_mysql.test:
test case
sql/opt_range.h:
added new method
sql/records.cc:
The fix is always to use rr_quick if QUICK_INDEX_MERGE_SELECT
with clustered pk range is used.
Diffstat (limited to 'support-files')
0 files changed, 0 insertions, 0 deletions