Re: Compilation issues for HASH_STATISTICS and HASH_DEBUG options
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: "Hayato Kuroda (Fujitsu)" <kuroda.hayato@fujitsu.com>
Cc: "'pgsql-hackers@lists.postgresql.org'"
<pgsql-hackers@lists.postgresql.org>
Date: 2025-08-15T03:42:23Z
Lists: pgsql-hackers
"Hayato Kuroda (Fujitsu)" <kuroda.hayato@fujitsu.com> writes: >> There might be a case for removing HASH_STATISTICS too, but >> it seems weaker. I do recall having made use of that code >> once years ago ... > I have never used both options, but one point is that hash_stats() has been > exported and extensions have called it. Is there a possibility that hidden > developer is using? Seems unlikely. They couldn't count on it doing anything at all in a standard build. Moreover, even if HASH_STATISTICS is defined, what it will do is print to stderr which is hardly a production- friendly behavior. So on the whole I'd bet lunch that no one depends on hash_stats(). In any case, we'd be talking about a change in master only, not something we'd back-patch. So there would be time for people to complain if anyone really cares. > Anyway, I have no strong opinion. Attached patch does 1) remove HASH_DEBUG and > 2) fix broken code with HASH_STATISTICS. Whatever we do with this, let's do it in two separate patches, just in case someone argues for reverting one or the other. The issues don't seem to me to be fundamentally connected. regards, tom lane
Commits
-
Remove HASH_DEBUG output from dynahash.c
- a98ccf727ebb 19 (unreleased) landed
-
Use elog(DEBUG4) for dynahash.c statistics output
- 05fcb9667c37 19 (unreleased) landed
-
Fix invalid format string in HASH_DEBUG code
- 2c7c08a090f2 14.20 landed
- 199a347d29e5 15.15 landed
- d809494cdfc5 16.11 landed
- 04b384b3efb2 17.7 landed
- 1571c7ca5dc9 18.0 landed
- 296cba276081 19 (unreleased) landed
-
Fix failing -D HASH_STATISTICS builds
- efe705b05cc1 17.7 landed
- e4ba326295c5 18.0 landed
- ca38912512a9 19 (unreleased) landed
-
Refactor initial hash lookup in dynahash.c
- cc5ef90edd80 17.0 cited
-
Remove large fill factor support from dynahash.c.
- be0a6666656e 14.0 cited
-
Remove broken and useless entry-count printing in HASH_DEBUG code.
- 9d4e56699957 10.0 cited
-
Partition the freelist for shared dynahash tables.
- 44ca4022f3f9 9.6.0 cited