Refactor some TOAST value ID code to use Oid8 instead of Oid

This is a mechanical update to change most of the TOAST code paths that
assume TOAST value IDs to be Oid variables to become Oid8 variables,
easing an the introduction of an upcoming patch to allow larger TOAST
values, at 8 bytes.

The areas touched by the change are related to table AM, amcheck and
logical decoding's reorder buffer.  A good chunk of the changes involve
switching printf() markers from %u to OID8_FORMAT.

For the sake of the release notes in terms of compatibility (perhaps
worth mentioning, or not), note that this changes some callback
definitions in the table AM section, upgrading some TOAST callbacks to
use Oid8 instead of Oid when referring to a TOAST value.

Author: Michael Paquier <[email protected]>
Reviewed-by: Greg Burd <[email protected]>
Reviewed-by: Bharath Rupireddy <[email protected]>
Reviewed-by: Yugo Nagata <[email protected]>
Discussion: https://postgr.es/m/[email protected]

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/072d4c4240572980b9c101ff5d2b85e656e79275

Modified Files
--------------
contrib/amcheck/verify_heapam.c                 | 55 ++++++++++++++-----------
src/backend/access/common/toast_internals.c     |  8 ++--
src/backend/access/heap/heaptoast.c             | 12 +++---
src/backend/replication/logical/reorderbuffer.c | 14 ++++---
src/include/access/heaptoast.h                  |  2 +-
src/include/access/tableam.h                    |  4 +-
6 files changed, 52 insertions(+), 43 deletions(-)

Reply via email to