Re: rename and move AssertVariableIsOfType

From: Bertrand Drouvot <bertranddrouvot(dot)pg(at)gmail(dot)com>
To: Peter Eisentraut <peter(at)eisentraut(dot)org>
Cc: pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: rename and move AssertVariableIsOfType
Date: 2026-01-27 12:55:08
Message-ID: aXi1rGIyk+r/9E1x@ip-10-97-1-34.eu-west-3.compute.internal
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi,

On Mon, Jan 26, 2026 at 01:17:15PM +0100, Peter Eisentraut wrote:
> I'm proposing two changes:
>
> First, rename AssertVariableIsOfType to StaticAssertVariableIsOfType. The
> current name suggests that it is a run-time assertion (like "Assert"), but
> it's not. The name change makes that clearer.
>
> I doubt that the current name is used in many extensions, but if necessary,
> extension code could adapt to this quite easily with something like
>
> #if PG_VERSION_NUM < ...
> #define StaticAssertVariableIsOfType(x, y) AssertVariableIsOfType(x, y)
> #endif
>
> Second, change the underlying implementation of StaticAssertVariableIsOfType
> to use StaticAssertDecl instead of StaticAssertStmt. This makes
> StaticAssertVariableIsOfType behave more like a normal static assertion, and
> in many cases we can move the current instances to a more natural position
> at file scope. This is similar to previous commits like 493eb0da31b.

Both make sense and looks good to me.

Once they are in, I'm wondering if the remaining StaticAssertStmt ones:

src/backend/backup/basebackup.c: StaticAssertStmt(2 * TAR_BLOCK_SIZE <= BLCKSZ,
src/backend/storage/lmgr/deadlock.c: StaticAssertStmt(MAX_BACKENDS_BITS <= (32 - 3),
src/backend/utils/mmgr/aset.c: StaticAssertStmt(ALLOC_CHUNK_LIMIT == ALLOCSET_SEPARATE_THRESHOLD,

could be replaced by StaticAssertDecl() too (that has not been done in 493eb0da31b
and (from a quick scan) not mentioned in the linked thread). I did not look in
details so maybe there is good reasons to keep them.

Regards,

--
Bertrand Drouvot
PostgreSQL Contributors Team
RDS Open Source Databases
Amazon Web Services: https://aws.amazon.com

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Zsolt Parragi 2026-01-27 12:56:50 Re: Add GoAway protocol message for graceful but fast server shutdown/switchover
Previous Message Ajay Pal 2026-01-27 12:49:30 Re: SQL Property Graph Queries (SQL/PGQ)