From ed355f59dd7e0065ebde15223c2f39f8b71b2958 Mon Sep 17 00:00:00 2001 From: Igor Babaev Date: Tue, 26 Nov 2019 11:22:51 -0800 Subject: MDEV-20407 mysqld got signal 11; rowid filter If a joined table is accessed by a full text index then now no range rowid filter can be used when accessing the records of this table. This bug was fixed by the patch for mdev-20056. This commit adds only a test case with a query using a full text index and a range condition for another index. --- mysql-test/main/rowid_filter_innodb.test | 33 ++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) (limited to 'mysql-test/main/rowid_filter_innodb.test') diff --git a/mysql-test/main/rowid_filter_innodb.test b/mysql-test/main/rowid_filter_innodb.test index cfca16287f6..f1b7b0dbbb0 100644 --- a/mysql-test/main/rowid_filter_innodb.test +++ b/mysql-test/main/rowid_filter_innodb.test @@ -182,3 +182,36 @@ eval $q2; DROP TABLE t1, t2, t3; SET GLOBAL innodb_stats_persistent= @stats.save; + +--echo # +--echo # MDEV-20407: usage of range filter is not supported when +--echo # the joined table is accessed by a full text index +--echo # + +set @stats.save= @@innodb_stats_persistent; +set global innodb_stats_persistent=on; + +create table t1(id int, s text, key (id), fulltext key (s)) engine=innodb; + +insert into t1 values +(1119,'t'),(1134,'t'),(1134,'t'),(1143,'t'),(1143,'t'),(1187,'t'),(1187,'t'), +(1187,'t'),(1187,'t'),(1187,'t'),(1187,'t'),(1187,'t'),(1187,'t'),(1187,'t'), +(1187,'t'),(1210,'t'),(1210,'t'),(1210,'t'),(1210,'t'),(1210,'t'),(1210,'t'), +(1214,'t'),(1214,'t'),(1215,'t'),(1215,'t'),(1215,'t'),(1216,'t'),(1218,'t'), +(1220,'t'),(1220,'t'),(1220,'t'),(1222,'t'),(1223,'t'),(1223,'t'),(1224,'t'), +(1225,'t'),(1225,'t'),(1226,'t'),(1226,'t'),(1227,'t'),(1227,'t'),(1228,'t'), +(1229,'t'),(1230,'t'),(1230,'t'),(1231,'t'),(1231,'t'),(1232,'t'),(1232,'t'), +(1232,'t'),(1232,'t'),(1233,'t'),(1241,'t'),(1245,'t'),(1247,'t'),(1247,'t'), +(1247,'t'),(1247,'t'),(1247,'t'),(1247,'t'),(1248,'like fttest'); + +analyze table t1; + +let $q= +select count(0) from t1 + where id=15066 and (match s against ('+"fttest"' in boolean mode)); + +eval explain extended $q; +eval $q; + +drop table t1; +set global innodb_stats_persistent= @stats.save; -- cgit v1.2.1