summaryrefslogtreecommitdiff
path: root/sql/sql_select.cc
diff options
context:
space:
mode:
authorMarko Mäkelä <marko.makela@mariadb.com>2019-11-27 06:29:14 +0200
committerMarko Mäkelä <marko.makela@mariadb.com>2019-11-27 06:29:14 +0200
commitddbbf97670ede6d3d6c6ad597c9b0f826272c85d (patch)
treedaad6c68a5aefc50d840b9ef57028f507e6928e0 /sql/sql_select.cc
parentd1851b3009279d91c27a1fa36d2294a3f4fd7959 (diff)
parented355f59dd7e0065ebde15223c2f39f8b71b2958 (diff)
downloadmariadb-git-ddbbf97670ede6d3d6c6ad597c9b0f826272c85d.tar.gz
Merge 10.4 into 10.5
Diffstat (limited to 'sql/sql_select.cc')
-rw-r--r--sql/sql_select.cc9
1 files changed, 8 insertions, 1 deletions
diff --git a/sql/sql_select.cc b/sql/sql_select.cc
index e925715e20d..20dd8fe222e 100644
--- a/sql/sql_select.cc
+++ b/sql/sql_select.cc
@@ -1644,6 +1644,12 @@ bool JOIN::make_range_rowid_filters()
{
if (!tab->range_rowid_filter_info)
continue;
+
+ DBUG_ASSERT(!(tab->ref.key >= 0 &&
+ tab->ref.key == (int) tab->range_rowid_filter_info->key_no));
+ DBUG_ASSERT(!(tab->ref.key == -1 && tab->quick &&
+ tab->quick->index == tab->range_rowid_filter_info->key_no));
+
int err;
SQL_SELECT *sel= NULL;
Rowid_filter_container *filter_container= NULL;
@@ -7704,7 +7710,8 @@ best_access_path(JOIN *join,
found_ref);
} /* not ft_key */
- if (records < DBL_MAX)
+ if (records < DBL_MAX &&
+ (found_part & 1)) // start_key->key can be used for index access
{
double rows= record_count * records;
double access_cost_factor= MY_MIN(tmp / rows, 1.0);