summaryrefslogtreecommitdiff
path: root/sql/table.h
diff options
context:
space:
mode:
authorVicențiu Ciorbaru <vicentiu@mariadb.org>2015-02-28 23:44:55 +0200
committerVicențiu Ciorbaru <vicentiu@mariadb.org>2015-02-28 23:58:05 +0200
commit45b6edb158f8101d641f550179ee15df363f686f (patch)
tree54b7db48e508cff8fda1c6448038bd0667c48e38 /sql/table.h
parentfa87fc733d7855e0e5f9b959ca0bddf772ca57e5 (diff)
downloadmariadb-git-45b6edb158f8101d641f550179ee15df363f686f.tar.gz
MDEV-6838: Using too big key for internal temp tables
This bug manifests due to wrong computation and evaluation of keyinfo->key_length. The issues were: * Using table->file->max_key_length() as an absolute value that must not be reached for a key, while it represents the maximum number of bytes possible for a table key. * Incorrectly computing the keyinfo->key_length size during KEY_PART_INFO creation. The metadata information regarding the key such the field length (for strings) was added twice.
Diffstat (limited to 'sql/table.h')
-rw-r--r--sql/table.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/sql/table.h b/sql/table.h
index 7a1e380f14c..832445486ab 100644
--- a/sql/table.h
+++ b/sql/table.h
@@ -1269,7 +1269,7 @@ public:
bool add_tmp_key(uint key, uint key_parts,
uint (*next_field_no) (uchar *), uchar *arg,
bool unique);
- void create_key_part_by_field(KEY *keyinfo, KEY_PART_INFO *key_part_info,
+ void create_key_part_by_field(KEY_PART_INFO *key_part_info,
Field *field, uint fieldnr);
void use_index(int key_to_save);
void set_table_map(table_map map_arg, uint tablenr_arg)