diff options
author | Sergey Glukhov <sergey.glukhov@oracle.com> | 2011-10-19 16:07:14 +0400 |
---|---|---|
committer | Sergey Glukhov <sergey.glukhov@oracle.com> | 2011-10-19 16:07:14 +0400 |
commit | a405d30e93096175618f28ada9e0e8cb5f94b914 (patch) | |
tree | 391aa95c1e0b9c5dbae8bf99e42ccfe2c2b2beec /tests | |
parent | 42d39e6e0828035af77d091db089b0104c4ac6d4 (diff) | |
download | mariadb-git-a405d30e93096175618f28ada9e0e8cb5f94b914.tar.gz |
Bug#12540545 61101: ASSERTION FAILURE IN THREAD 1256741184 IN FILE /BUILDDIR/BUILD/BUILD/MYSQ
The assertion in innodb is triggered in this way:
1. mysql server does lookup on the primary key with full key,
innodb decides to not store cursor position because
"any index_next/prev call will return EOF anyway"
2. server asks innodb to return any next record in the index and the
assertion is triggered because no cursor position is stored.
It happens when a unique search (match_mode=ROW_SEL_EXACT)
in the clustered index is performed. InnoDB has never stored
the cursor position after a unique key lookup in the
clustered index because storing the position is an expensive
operation. The bug was introduced by
WL3220 'Loose index scan for aggregate functions'.
The fix is to disallow loose index scan optimization
for AGG_FUNC(DISTINCT ...) if GROUP_MIN_MAX quick select
uses clustered key.
mysql-test/r/group_min_max_innodb.result:
test case
mysql-test/t/group_min_max_innodb.test:
test case
sql/opt_range.cc:
disallow loose index scan optimization for
AGG_FUNC(DISTINCT ...) if GROUP_MIN_MAX
quick select uses clustered key.
Diffstat (limited to 'tests')
0 files changed, 0 insertions, 0 deletions