[PATCH] dynahash.c refactoring

Started by Aleksander Alekseev4 days ago2 messageshackers
Beta feature

Hackorum builds and tests every patch posted to the lists, not only commitfest submissions. This is Hackorum's own CI rather than the PostgreSQL project's, and it is still under testing - please report anything that looks wrong.

appliessuccessCI history

You can run a PostgreSQL built from this patch straight from Docker, with no checkout and no build:

docker run --rm -p 5432:5432 ghcr.io/hackorum-dev/postgres-patch:t254441
psql -h localhost -U postgres

Built from patchset v1 (message #1), November 02, 2026 at 11:25 AM.

Every patchset is also pushed to a branch of our PostgreSQL fork, so you can check out the same tree CI built. Without a PostgreSQL checkout:

git clone --branch t254441_1 https://github.com/hackorum-dev/postgres.git

In a checkout you already have, add the fork once:

git remote add hackorum https://github.com/hackorum-dev/postgres.git

then, for this patchset and every later one:

git fetch hackorum t254441_1 && git checkout t254441_1

Patchset v1 (message #1) is on t254441_1

Jump to latest
#1Aleksander Alekseev
aleksander@timescale.com

Hi,

0001: hash_freeze() has not been used since 5dfc198146 (Oct 2016). I
suggest removing it.

0002: hash_destroy() is the only caller of hash_stats(). I suggest
making the function static and place it under `#ifdef
HASH_STATISTICS`.

Thoughts?

--
Best regards,
Aleksander Alekseev

Attachments:

t254441_1
v1-0002-Make-hash_stats-static.patchtext/x-patch; charset=US-ASCII; name=v1-0002-Make-hash_stats-static.patchDownload+10-7
v1-0001-Remove-hash_freeze.patchtext/x-patch; charset=US-ASCII; name=v1-0001-Remove-hash_freeze.patchDownload+5-52
#2Peter Eisentraut
peter_e@gmx.net
In reply to: Aleksander Alekseev (#1)
Re: [PATCH] dynahash.c refactoring

On 29.10.26 12:03, Aleksander Alekseev wrote:

0001: hash_freeze() has not been used since 5dfc198146 (Oct 2016). I
suggest removing it.

This seems alright. If someone needs it, we can put it back.

0002: hash_destroy() is the only caller of hash_stats(). I suggest
making the function static and place it under `#ifdef
HASH_STATISTICS`.

I don't think this is an improvement. In general, I would like to keep
the amount of code covered by #ifdef's as small as possible. That way,
we reduce the chances that some code rots because it is not compiled by
default. We could make the function static, but I would avoid the
additional #ifdef's.