On Thu, 14 Aug 2025 at 23:48, Hayato Kuroda (Fujitsu)
<kuroda.hayato@fujitsu.com> wrote:
> I found that postgres could not be built if a complier option HASH_STATISTICS is
> set [1]. Also, I found HASH_DEBUG option caused warnings [2]. Usage of the are
> mentioned at the code comments in dynahash.c.
> [1]:
> ```
> dynahash.c: In function ‘hash_update_hash_key’:
> dynahash.c:1178:9: error: ‘hctl’ undeclared (first use in this function)
> 1178 | hctl->accesses++;
> | ^~~~
> ```
Looks to be new to PG17 introduced in cc5ef90ed.
> [2]:
> ```
> dynahash.c: In function ‘init_htab’:
> dynahash.c:779:68: warning: format ‘%ld’ expects argument of type ‘long int’, but argument 12 has type ‘uint32’ {aka
‘unsignedint’} [-Wformat=]
> 779 | 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",
This dates back to PG14 from be0a66666. Looks like the author
miscounted the parameter in the format string and deleted starting 1
parameter too soon.
I'll address these and backpatch once the freeze is lifted from the
backbranches. That should be quite soon.
Thanks
David