Re: Cannot find a working 64-bit integer type on Illumos

From: Heikki Linnakangas <hlinnaka(at)iki(dot)fi>
To: Thomas Munro <thomas(dot)munro(at)gmail(dot)com>, Peter Eisentraut <peter(at)eisentraut(dot)org>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Japin Li <japinli(at)hotmail(dot)com>, Andres Freund <andres(at)anarazel(dot)de>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: Cannot find a working 64-bit integer type on Illumos
Date: 2024-07-02 13:34:57
Message-ID: d8d68452-7195-41cf-a31b-e660f5ac6e75@iki.fi
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 18/04/2024 23:29, Thomas Munro wrote:
> On Thu, Apr 18, 2024 at 8:47 PM Peter Eisentraut <peter(at)eisentraut(dot)org> wrote:
>> I'm not sure I understand the problem here. Do you mean that in theory
>> a platform's PRId64 could be something other than "l" or "ll"?
>
> Yes. I don't know why anyone would do that, and the systems I checked
> all have the obvious definitions, eg "ld", "lld" etc. Perhaps it's an
> acceptable risk? It certainly gives us a tidier result.

Could we have a configure check or static assertion for that?

> For discussion, here is a variant that fully embraces <inttypes.h> and
> the PRI*64 macros.

Looks good to me.

Personally, I find "PRId64" pretty unreadable. "INT64_MODIFIER" wasn't
nice either, though, and following standards is good, so I'm sure I'll
get used to it.

They're both less readable than INT64_FORMAT and "%lld", which we use in
most places, though. Perhaps "%lld" and casting the arguments to "long
long" would be more readable in the places where this patch replaces
INT64_MODIFIER with PRI*64, too.

--
Heikki Linnakangas
Neon (https://neon.tech)

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Peter Geoghegan 2024-07-02 13:40:24 Re: Adding skip scan (including MDAM style range skip scan) to nbtree
Previous Message Peter Geoghegan 2024-07-02 13:30:28 Re: Adding skip scan (including MDAM style range skip scan) to nbtree