Fix bugs.
authorRobert Haas <rhaas@postgresql.org>
Wed, 26 Mar 2014 00:01:12 +0000 (17:01 -0700)
committerRobert Haas <rhaas@postgresql.org>
Wed, 26 Mar 2014 00:01:12 +0000 (17:01 -0700)
src/backend/utils/mmgr/sb_alloc.c
src/backend/utils/mmgr/sb_map.c

index 954992fb6394435178b8dfe9d5ba49080bd3e768..9935d0d8065e38019e57a1eaf08a5427ec6df262 100644 (file)
@@ -390,6 +390,7 @@ sb_alloc_from_heap(char *base, sb_heap *heap, Size obsize)
                result = superblock + active_sb->ninitialized * obsize;
                ++active_sb->ninitialized;
        }
+       ++active_sb->nused;
 
        /* If it's now full, move it to the highest-numbered fullness class. */
        if (active_sb->nused == nmax)
index e66c2c076bde7a69663d52d25e692c6644bccd54..ef21993c05a96abbcbf4829329da65b03c77d37e 100644 (file)
@@ -106,7 +106,7 @@ void
 sb_map_set(sb_map *m, Size pageno, void *ptr)
 {
        char   *base = sb_map_base(m);
-       Assert(pageno < m->npages);
+       Assert(base == NULL || pageno < m->npages);
 
        if (m->use64)
                ((sb_map64 *) m)->map[pageno] = (uint64) (((char *) ptr) - base);