Re: Making type Datum be 8 bytes everywhere
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Andres Freund <andres@anarazel.de>
Cc: Peter Eisentraut <peter@eisentraut.org>, Joe Conway <mail@joeconway.com>,
Michael Paquier <michael@paquier.xyz>,
pgsql-hackers@lists.postgresql.org,
Robert Haas <robertmhaas@gmail.com>
Date: 2025-08-12T16:20:58Z
Lists: pgsql-hackers
Andres Freund <andres@anarazel.de> writes: > On 2025-08-12 08:30:43 +0200, Peter Eisentraut wrote: >> I'm also thinking, as a follow-on project, we could get rid of typbyval and >> require that typbyval == (typlen > 0 && typlen <= 8). Something to think >> about. > We currently have types that aren't typbyval despite fitting those criteria: We could change those three if we had a mind to. Changing TID would probably risk some bugs, but we pass it around enough in UPDATE/DELETE that making it typbyval would surely buy some small performance win. (I doubt anyone would notice about the macaddr types though.) However, I'm really hesitant to start enforcing such a thing against user-defined types. I think that would translate to breaking some extensions in return for not much. regards, tom lane
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Avoid faulty alignment of Datums in build_sorted_items().
- 09036dc71c68 19 (unreleased) landed
-
Grab the low-hanging fruit from forcing USE_FLOAT8_BYVAL to true.
- ee54046601de 19 (unreleased) landed
-
Grab the low-hanging fruit from forcing sizeof(Datum) to 8.
- 6aebedc38497 19 (unreleased) landed
-
Make type Datum be 8 bytes wide everywhere.
- 2a600a93c7be 19 (unreleased) landed
-
Mop-up for Datum conversion cleanups.
- 665c3dbba497 19 (unreleased) landed