pg.ddx.io  pgsql-committers@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Tom Lane <tgl@sss.pgh.pa.us>
To: pgsql-committers@lists.postgresql.org
Subject: pgsql: Use "ssize_t" not "long" in max_stack_depth-related code.
Date: Thu, 30 Jan 2025 21:44:53 +0000
Message-ID: <E1tdcLF-004Uld-3Z@gemulon.postgresql.org> (raw)

Use "ssize_t" not "long" in max_stack_depth-related code.

This change adapts these functions to the machine's address width
without depending on "long" to be the right size.  (It isn't on
Win64, for example.)  While it seems unlikely anyone would care
to run with a stack depth limit exceeding 2GB, this is part of a
general push to avoid using type "long" to represent memory sizes.

It's convenient to use ssize_t rather than the perhaps-more-obvious
choice of size_t/Size, because the code involved depends on working
with a signed data type.  Our MAX_KILOBYTES limit already ensures
that ssize_t will be sufficient to represent the maximum value of
max_stack_depth.

Extracted from a larger patch by Vladlen, plus additional hackery
by me.

Author: Vladlen Popolitov <v.popolitov@postgrespro.ru>
Author: Tom Lane <tgl@sss.pgh.pa.us>
Discussion: https://postgr.es/m/1a01f0-66ec2d80-3b-68487680@27595217

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/b9d232b9de89aa9282f9a2e7c85f783bcd334af2

Modified Files
--------------
src/backend/utils/misc/guc.c         |  6 +++---
src/backend/utils/misc/stack_depth.c | 30 +++++++++++++++++-------------
src/include/miscadmin.h              |  4 ++--
3 files changed, 22 insertions(+), 18 deletions(-)



Message-ID: <E1tdcLF-004Uld-3Z@gemulon.postgresql.org>
Permalink:  ../E1tdcLF-004Uld-3Z@gemulon.postgresql.org/
Also on:    postgresql.org/message-id/E1tdcLF-004Uld-3Z@gemulon.postgresql.org

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-committers@postgresql.org
  Cc: tgl@sss.pgh.pa.us, pgsql-committers@lists.postgresql.org
  Subject: Re: pgsql: Use "ssize_t" not "long" in max_stack_depth-related code.
  In-Reply-To: <E1tdcLF-004Uld-3Z@gemulon.postgresql.org>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox