summaryrefslogtreecommitdiff
path: root/heap
diff options
context:
space:
mode:
Diffstat (limited to 'heap')
-rw-r--r--heap/hp_open.c9
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)