| 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.)
| 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 |