1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-29 05:21:33 +03:00

MDEV-18755 Assertion `inited==INDEX' failed in handler::ha_index_read_map

When the chosen execution plan accesses a join table employing a range
rowid filter a quick select to scan this range has to be built. This
quick select is built by a call of SQL_SELECT::test_quick_select().
At this call the function should allow to evaluate only single index
range scans. In order to be able to do this a new parameter was added
to this function.
This commit is contained in:
Igor Babaev
2019-02-28 14:44:38 -08:00
parent b10340998f
commit 5a0874449a
7 changed files with 180 additions and 17 deletions

View File

@ -1645,7 +1645,8 @@ class SQL_SELECT :public Sql_alloc {
{
key_map tmp;
tmp.set_all();
return test_quick_select(thd, tmp, 0, limit, force_quick_range, FALSE, FALSE) < 0;
return test_quick_select(thd, tmp, 0, limit, force_quick_range,
FALSE, FALSE, FALSE) < 0;
}
/*
RETURN
@ -1662,7 +1663,8 @@ class SQL_SELECT :public Sql_alloc {
}
int test_quick_select(THD *thd, key_map keys, table_map prev_tables,
ha_rows limit, bool force_quick_range,
bool ordered_output, bool remove_false_parts_of_where);
bool ordered_output, bool remove_false_parts_of_where,
bool only_single_index_range_scan);
};