Done
Details
Assignee
UnassignedUnassignedReporter
lpjirasynclpjirasync(Deactivated)Priority
Low
Details
Details
Assignee
Unassigned
UnassignedReporter
lpjirasync
lpjirasync(Deactivated)Priority
Smart Checklist
Smart Checklist
Smart Checklist
Created January 22, 2018 at 9:05 PM
Updated January 22, 2018 at 9:05 PM
Resolved January 22, 2018 at 9:05 PM
**Reported in Launchpad by Laurynas Biveinis last update 30-03-2017 09:05:58
On 5.6 trunk:
innodb.percona_fast_prefix_index_fetch w2 [ fail ]
Test ended at 2017-03-23 09:40:30
CURRENT_TEST: innodb.percona_fast_prefix_index_fetch
mysqltest: In included file "./include/assert.inc":
included from ./include/assert.inc at line 75:
included from ./suite/innodb/include/prefix_index_only_query_check.inc at line 27:
At line 74: Test assertion failed in assert.inc
...
#
Test that multi-byte charsets are handled correctly
#
SET NAMES utf8mb4;
CREATE TABLE t1 (
a INT PRIMARY KEY,
b VARCHAR(30) CHARACTER SET UTF8MB4,
INDEX b_idx (b(3))) ENGINE=InnoDB;
INSERT INTO t1 VALUES(1, "aa");
INSERT INTO t1 VALUES(2, "ccc");
INSERT INTO t1 VALUES(3, "a");
MB charset record obviously shorter than the prefix
SELECT * FROM t1 WHERE b = "aa";
a b
1 aa
include/assert.inc [MB charset record obviously shorter than the prefix: 0 innodb_secondary_index_triggered_cluster_reads]
Test assertion failed: MB charset record obviously shorter than the prefix: 0 innodb_secondary_index_triggered_cluster_reads ########
Dumping debug info:
Assertion text: 'MB charset record obviously shorter than the prefix: 0 innodb_secondary_index_triggered_cluster_reads'
Assertion condition: '11 - 10 = 0'
Assertion condition, interpolated: '11 - 10 = 0'
Assertion result: '0'
safe_process[29050]: Child process: 29051, exit: 1
This is caused by prefix index query optimisation being circumvented by advancing max trx id on the secondary index page, which then falls outside the current read view and forces clustered index record read to satisfy MVCC.