summaryrefslogtreecommitdiff
path: root/sql/rowid_filter.cc
diff options
context:
space:
mode:
authorSergei Golubchik <serg@mariadb.org>2020-05-09 20:43:36 +0200
committerSergei Golubchik <serg@mariadb.org>2020-05-09 20:43:36 +0200
commit13038e4705ed55e24362dfad977a1ee454cfebfd (patch)
treeac3d37fe69e802dec8008748b86cc901f116eead /sql/rowid_filter.cc
parent72c7b4eb4cc86ca2f6bdb9e105b67d39df018a40 (diff)
parentf5844e7c4bc693783f088a5fc9c399b786ddc8c1 (diff)
downloadmariadb-git-13038e4705ed55e24362dfad977a1ee454cfebfd.tar.gz
Merge branch '10.4' into 10.5
Diffstat (limited to 'sql/rowid_filter.cc')
-rw-r--r--sql/rowid_filter.cc8
1 files changed, 8 insertions, 0 deletions
diff --git a/sql/rowid_filter.cc b/sql/rowid_filter.cc
index 1d9363693cb..d8d0890e1f9 100644
--- a/sql/rowid_filter.cc
+++ b/sql/rowid_filter.cc
@@ -469,6 +469,14 @@ TABLE::best_range_rowid_filter_for_partial_join(uint access_key_no,
covering_keys.is_set(access_key_no))
return 0;
+ // Disallow use of range filter if the key contains partially-covered
+ // columns.
+ for (uint i= 0; i < key_info[access_key_no].usable_key_parts; i++)
+ {
+ if (key_info[access_key_no].key_part[i].field->type() == MYSQL_TYPE_BLOB)
+ return 0;
+ }
+
/*
Currently we do not support usage of range filters if the table
is accessed by the clustered primary key. It does not make sense