diff options
author | Igor Babaev <igor@askmonty.org> | 2019-02-28 14:44:38 -0800 |
---|---|---|
committer | Igor Babaev <igor@askmonty.org> | 2019-02-28 14:45:01 -0800 |
commit | 5a0874449a50187e70adf051754d9fbed27d549b (patch) | |
tree | d9d3b4d3289a19f9007fc0f3cd7a69e8a541c389 /sql/opt_range.h | |
parent | b10340998f33a04452a499ae8d13f8af7e1e69b0 (diff) | |
download | mariadb-git-5a0874449a50187e70adf051754d9fbed27d549b.tar.gz |
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.
Diffstat (limited to 'sql/opt_range.h')
-rw-r--r-- | sql/opt_range.h | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/sql/opt_range.h b/sql/opt_range.h index 7e92e1f54ee..2dab90b9f69 100644 --- a/sql/opt_range.h +++ b/sql/opt_range.h @@ -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); }; |