diff options
author | ram@mysql.r18.ru <> | 2003-07-03 18:21:59 +0500 |
---|---|---|
committer | ram@mysql.r18.ru <> | 2003-07-03 18:21:59 +0500 |
commit | 726fca05f773a201dbfba86001d039422944d7da (patch) | |
tree | 587db7d7c6f36901f05136752a0ab428e06ab355 /heap/hp_open.c | |
parent | 3308f226ee7de985d2da950caa8cc3d60b3ed475 (diff) | |
download | mariadb-git-726fca05f773a201dbfba86001d039422944d7da.tar.gz |
Fix and test-case for the bug #775: SELECT misses rows in indexed HEAP table columns.
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) |