Re: Remove traces of long in dynahash.c
Chao Li <li.evan.chao@gmail.com>
From: Chao Li <li.evan.chao@gmail.com>
To: Michael Paquier <michael@paquier.xyz>
Cc: Tom Lane <tgl@sss.pgh.pa.us>,
Postgres hackers <pgsql-hackers@lists.postgresql.org>
Date: 2025-08-20T08:14:15Z
Lists: pgsql-hackers
> On Aug 20, 2025, at 15:40, Michael Paquier <michael@paquier.xyz> wrote:
>
> On Tue, Aug 19, 2025 at 10:46:58AM -0400, Tom Lane wrote:
>> +1 for getting rid of those while we're doing janitorial work here.
>> They're not *quite* duplicates though, for instance next_pow2_int has
>> different response to out-of-range values than pg_nextpower2_32.
>
> This would mean introducing more flavors in pg_bitutils.h with limit
> checks. That does not seem completely right to do in this file, which
> is a wrapper for all the __builtin_*() calls? A second point is on
> the signedness but we could just cap the maximum at
> (PG_UINT{32,64}_MAX / 2), I guess, with two new routines like:
> uint64 pg_nextpower2_64_max(uint64 num);
> uint32 pg_prevpower2_32_max(uint32 num);
>
I wonder if we can keep the same naming style to make the new function name like next_pow2_64()?
--
Chao Li (Evan)
HighGo Software Co., Ltd.
https://www.highgo.com/
Commits
-
Remove dynahash.h
- e6da68a6e1d6 19 (unreleased) landed
-
Replace callers of dynahash.h's my_log() by equivalent in pg_bitutils.h
- b1187266e077 19 (unreleased) landed
-
Change dynahash.c and hsearch.h to use int64 instead of long
- 13b935cd5217 19 (unreleased) landed