Re: Making type Datum be 8 bytes everywhere
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Joe Conway <mail@joeconway.com>
Cc: Michael Paquier <michael@paquier.xyz>,
Peter Eisentraut <peter@eisentraut.org>,
Andres Freund <andres@anarazel.de>,
pgsql-hackers@lists.postgresql.org,
Robert Haas <robertmhaas@gmail.com>
Date: 2025-08-09T16:44:51Z
Lists: pgsql-hackers
Attachments
- v1-0001-Make-type-Datum-be-8-bytes-wide-everywhere.patch (text/x-diff) patch v1-0001
- v1-0002-Grab-the-low-hanging-fruit-from-forcing-sizeof-Da.patch (text/x-diff) patch v1-0002
- v1-0003-Grab-the-low-hanging-fruit-from-forcing-USE_FLOAT.patch (text/x-diff) patch v1-0003
Joe Conway <mail@joeconway.com> writes: > On 8/8/25 21:14, Tom Lane wrote: >> I have just realized that this proposal has a rather nasty defect. >> ... >> On the positive side, even if there are any SP-GiST opclasses that >> are at risk, the population of installations using them on 32-bit >> installs has got to be pretty tiny. > I bet it is indistinguishable from zero... That's my bet too. >> And the worst-case answer is that you'd have to reindex such indexes >> after pg_upgrade. > ...and this seems like a reasonable answer if anyone pops up. >> Do we think that making this change is valuable enough to justify >> taking such a risk? > yes +1 I've now fleshed out the patch series with some cleanup of code that's been rendered dead. The 0001 patch is nearly the same as before, but thanks to all the work Peter did, it doesn't trigger a pile of gcc warnings (at least, not for me). 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