diff options
author | Sergei Golubchik <serg@mariadb.org> | 2016-11-02 13:44:07 +0100 |
---|---|---|
committer | Sergei Golubchik <serg@mariadb.org> | 2016-11-02 13:44:07 +0100 |
commit | a98c85bb501e9021c0d8d509b8c040611d4c0c3a (patch) | |
tree | 61dc69fc1cbf886aee6c2934e8efc6b57c3462bb /sql/opt_range.cc | |
parent | c18054deb2b5cfcf1f13aa71574406f2bafb87c6 (diff) | |
parent | 7196691b44b65e12cb5cca6f17c8d0f091eb443f (diff) | |
download | mariadb-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.cc | 9 |
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; |