Hi all,
(Tom and Andres in CC, as they've commented on the original "round 1"
thread)
In order to add support of 8-byte TOAST values, one item that I have
on my list of items is a set of renames in the varatt.h definitions
for some objects, as of:
- varatt_external -> varatt_external_oid
- VARTAG_ONDISK -> VARTAG_ONDISK_OID
- TOAST_POINTER_SIZE -> TOAST_OID_POINTER_SIZE
- TOAST_MAX_CHUNK_SIZE -> TOAST_OID_MAX_CHUNK_SIZE
- Few macros in varatt.h.
- (I'm aware of the control file bit, left out on purpose as its
tracking is still valid even if we extend to 8 bytes.)
This is related to the following, larger patch set, but I wanted to
make a last call before proceeding as it is hidden in a much larger
set of patches:
https://www.postgresql.org/message-id/flat/af19kUjwjhaoUTLn@paquier.xyz
Tom has commented about this part of the patch here, presented in
0003:
https://www.postgresql.org/message-id/1891064.1754681536@sss.pgh.pa.us
This is a more ambitious version of it, with more mechanical renames
to make the difference between the OID and OID8 flavors of the
pointers.
One point of the renames is to make extension folks aware of the fact
that the new TOAST structures may need handling due to the new 8-byte
values. Still, I also feel guilty to not provide a set of
compatibility definitions, which is of course one option. Note that
I'm planning to do all that early in the release cycle for v20, to get
room for it.
Rebased on HEAD is the patch I have for staging. Any thoughts,
comments or objections?
--
Michael