]> granicus.if.org Git - postgresql/commitdiff
Remove broken and useless entry-count printing in HASH_DEBUG code.
authorTom Lane <tgl@sss.pgh.pa.us>
Wed, 2 Aug 2017 16:16:50 +0000 (12:16 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Wed, 2 Aug 2017 16:16:57 +0000 (12:16 -0400)
init_htab(), with #define HASH_DEBUG, prints a bunch of hashtable
parameters.  It used to also print nentries, but commit 44ca4022f changed
that to "hash_get_num_entries(hctl)", which is wrong (the parameter should
be "hashp").

Rather than correct the coding, though, let's just remove that field from
the printout.  The table must be empty, since we just finished building
it, so expensively calculating the number of entries is rather pointless.
Moreover hash_get_num_entries makes assumptions (about not needing locks)
which we could do without in debugging code.

Noted by Choi Doo-Won in bug #14764.  Back-patch to 9.6 where the
faulty code was introduced.

Discussion: https://postgr.es/m/20170802032353.8424.12274@wrigleys.postgresql.org

src/backend/utils/hash/dynahash.c

index bb835ba9467d7e2826c56d2f72348439dc629397..6a05e34590c9934874a82a6375dcbdf8d8eb6144 100644 (file)
@@ -685,7 +685,7 @@ init_htab(HTAB *hashp, long nelem)
        hctl->nelem_alloc = choose_nelem_alloc(hctl->entrysize);
 
 #if HASH_DEBUG
-       fprintf(stderr, "init_htab:\n%s%p\n%s%ld\n%s%ld\n%s%d\n%s%ld\n%s%u\n%s%x\n%s%x\n%s%ld\n%s%ld\n",
+       fprintf(stderr, "init_htab:\n%s%p\n%s%ld\n%s%ld\n%s%d\n%s%ld\n%s%u\n%s%x\n%s%x\n%s%ld\n",
                        "TABLE POINTER   ", hashp,
                        "DIRECTORY SIZE  ", hctl->dsize,
                        "SEGMENT SIZE    ", hctl->ssize,
@@ -694,8 +694,7 @@ init_htab(HTAB *hashp, long nelem)
                        "MAX BUCKET      ", hctl->max_bucket,
                        "HIGH MASK       ", hctl->high_mask,
                        "LOW  MASK       ", hctl->low_mask,
-                       "NSEGS           ", hctl->nsegs,
-                       "NENTRIES        ", hash_get_num_entries(hctl));
+                       "NSEGS           ", hctl->nsegs);
 #endif
        return true;
 }