under HASH_STATISTICS, the output reporting "this HTAB" upon destruction is
pretty useless. Which HTAB would this one be? It is not necessarily the
most recently created one.
This makes it output the %p to the actual HTAB, so it can be matched up
with the logging of the creation.
I'm not sure why it bypasses elog. Is that so it can run during start-up
before elog is active? I'd like to make it go through elog so that
log_line_prefix are applied, but then it would no longer be a trivial patch.
Cheers,
Jeff
diff --git a/src/backend/utils/hash/dynahash.c b/src/backend/utils/hash/dynahash.c
new file mode 100644
index 2b99e4b..89c3a9d
*** a/src/backend/utils/hash/dynahash.c
--- b/src/backend/utils/hash/dynahash.c
*************** void
*** 733,740 ****
hash_stats(const char *where, HTAB *hashp)
{
#if HASH_STATISTICS
! fprintf(stderr, "%s: this HTAB -- accesses %ld collisions %ld\n",
! where, hashp->hctl->accesses, hashp->hctl->collisions);
fprintf(stderr, "hash_stats: entries %ld keysize %ld maxp %u segmentcount %ld\n",
hashp->hctl->nentries, (long) hashp->hctl->keysize,
--- 737,744 ----
hash_stats(const char *where, HTAB *hashp)
{
#if HASH_STATISTICS
! fprintf(stderr, "%s: HTAB %p -- accesses %ld collisions %ld\n",
! where, hashp, hashp->hctl->accesses, hashp->hctl->collisions);
fprintf(stderr, "hash_stats: entries %ld keysize %ld maxp %u segmentcount %ld\n",
hashp->hctl->nentries, (long) hashp->hctl->keysize,
--
Sent via pgsql-hackers mailing list ([email protected])
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers