summaryrefslogtreecommitdiff
path: root/sql/opt_range.h
diff options
context:
space:
mode:
authorIgor Babaev <igor@askmonty.org>2019-02-28 14:44:38 -0800
committerIgor Babaev <igor@askmonty.org>2019-02-28 14:45:01 -0800
commit5a0874449a50187e70adf051754d9fbed27d549b (patch)
treed9d3b4d3289a19f9007fc0f3cd7a69e8a541c389 /sql/opt_range.h
parentb10340998f33a04452a499ae8d13f8af7e1e69b0 (diff)
downloadmariadb-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.h6
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);
};