summaryrefslogtreecommitdiff
path: root/sql/opt_range.cc
diff options
context:
space:
mode:
authorSergei Golubchik <serg@mariadb.org>2016-11-02 13:44:07 +0100
committerSergei Golubchik <serg@mariadb.org>2016-11-02 13:44:07 +0100
commita98c85bb501e9021c0d8d509b8c040611d4c0c3a (patch)
tree61dc69fc1cbf886aee6c2934e8efc6b57c3462bb /sql/opt_range.cc
parentc18054deb2b5cfcf1f13aa71574406f2bafb87c6 (diff)
parent7196691b44b65e12cb5cca6f17c8d0f091eb443f (diff)
downloadmariadb-git-a98c85bb501e9021c0d8d509b8c040611d4c0c3a.tar.gz
Merge branch '10.0-galera' into 10.1
Diffstat (limited to 'sql/opt_range.cc')
-rw-r--r--sql/opt_range.cc9
1 files changed, 8 insertions, 1 deletions
diff --git a/sql/opt_range.cc b/sql/opt_range.cc
index 1a0d12a8dee..bed57f3273f 100644
--- a/sql/opt_range.cc
+++ b/sql/opt_range.cc
@@ -2757,9 +2757,16 @@ bool create_key_parts_for_pseudo_indexes(RANGE_OPT_PARAM *param,
{
Field *field= *field_ptr;
uint16 store_length;
+ uint16 max_key_part_length= (uint16) table->file->max_key_part_length();
key_part->key= keys;
key_part->part= 0;
- key_part->length= (uint16) field->key_length();
+ if (field->flags & BLOB_FLAG)
+ key_part->length= max_key_part_length;
+ else
+ {
+ key_part->length= (uint16) field->key_length();
+ set_if_smaller(key_part->length, max_key_part_length);
+ }
store_length= key_part->length;
if (field->real_maybe_null())
store_length+= HA_KEY_NULL_LENGTH;