summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergei Petrunia <psergey@askmonty.org>2014-09-25 22:12:18 +0400
committerSergei Petrunia <psergey@askmonty.org>2014-09-25 22:12:18 +0400
commit98c95ff1e23452395aa58eabf9346d8d1f234000 (patch)
treeb68adbe2586c5c95fd31971a2c42105437843d3d
parent30fab5fb511ac29dcaef1f17a653f461ab32f029 (diff)
downloadmariadb-git-98c95ff1e23452395aa58eabf9346d8d1f234000.tar.gz
Better comments about KEY::ext_key_part_map
-rw-r--r--sql/structs.h14
1 files changed, 13 insertions, 1 deletions
diff --git a/sql/structs.h b/sql/structs.h
index 2de7abb666d..da8d4beb754 100644
--- a/sql/structs.h
+++ b/sql/structs.h
@@ -93,7 +93,19 @@ typedef struct st_key {
uint usable_key_parts; /* Should normally be = user_defined_key_parts */
uint ext_key_parts; /* Number of key parts in extended key */
ulong ext_key_flags; /* Flags for extended key */
- key_part_map ext_key_part_map; /* Bitmap of pk key parts in extension */
+ /*
+ Parts of primary key that are in the extension of this index.
+
+ Example: if this structure describes idx1, which is defined as
+ INDEX idx1 (pk2, col2)
+ and pk is defined as:
+ PRIMARY KEY (pk1, pk2)
+ then
+ pk1 is in the extension idx1, ext_key_part_map.is_set(0) == true
+ pk2 is explicitly present in idx1, it is not in the extension, so
+ ext_key_part_map.is_set(1) == false
+ */
+ key_part_map ext_key_part_map;
uint block_size;
uint name_length;
enum ha_key_alg algorithm;