Re: pgsql: Optimize tuple deformation

From: Peter Eisentraut <peter(at)eisentraut(dot)org>
To: David Rowley <dgrowleyml(at)gmail(dot)com>
Cc: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: Re: pgsql: Optimize tuple deformation
Date: 2026-10-19 10:47:14
Message-ID: b2280406-f71f-4a5d-b815-96a4575d61ad@eisentraut.org
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-committers

On 08.10.26 22:35, David Rowley wrote:
> I'd like to get time to put in more effort into figuring out what's
> going on with the gcc as I wondered how many other places we're
> getting inefficient code because of this. More research may discover
> that we really shouldn't use ints to index arrays, for example.
>
> It is meant to be 32-bits on 32-bit platforms. Why is uintptr_t better
> than size_t for indexing an array? Or rather, what's wrong with
> size_t? I had assumed you highlighted this because of some fields
> being int and some being size_t, but if you're happier with uintptr_t,
> then I may have misunderstood.

I'm fine with leaving it as is for now. I'm going around fixing signed
vs. unsigned integer mismatches, and this is being flagged because
size_t is unsigned and attribute numbers are in general signed, and
could at least in some cases actually be negative. But this is only one
of many problems, so I can silence this in my local work for now. (So
the suggestion to use uintptr_t was also wrong; it should have been
intptr_t, or possibly ssize_t, but given your explanation, I'm not
worried about this right now; I would rather see you find a proper
solution.)

In response to

Browse pgsql-committers by date

  From Date Subject
Next Message David Rowley 2026-10-19 21:32:42 pgsql: Fix a few mistakes in partition aggregate tests
Previous Message Peter Eisentraut 2026-10-19 08:38:07 pgsql: Add missing dependencies to meson headerscheck target