diff options
Diffstat (limited to 'heap/hp_open.c')
-rw-r--r-- | heap/hp_open.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/heap/hp_open.c b/heap/hp_open.c index 1bb28e5ffdf..ec8b5fea904 100644 --- a/heap/hp_open.c +++ b/heap/hp_open.c @@ -46,9 +46,12 @@ HP_INFO *heap_open(const char *name, int mode, uint keys, HP_KEYDEF *keydef, for (j=length=0 ; j < keydef[i].keysegs; j++) { length+=keydef[i].seg[j].length; - if (keydef[i].seg[j].null_bit && - !(keydef[i].flag & HA_NULL_ARE_EQUAL)) - keydef[i].flag |= HA_NULL_PART_KEY; + if (keydef[i].seg[j].null_bit) + { + length++; + if (!(keydef[i].flag & HA_NULL_ARE_EQUAL)) + keydef[i].flag |= HA_NULL_PART_KEY; + } } keydef[i].length=length; if (length > max_length) |