Remove direct uses of ItemPointer.{ip_blkid,ip_posid}
authorAlvaro Herrera <alvherre@alvh.no-ip.org>
Tue, 28 Mar 2017 15:52:55 +0000 (12:52 -0300)
committerAlvaro Herrera <alvherre@alvh.no-ip.org>
Tue, 28 Mar 2017 22:02:23 +0000 (19:02 -0300)
commitce96ce60ca2293f75f36c3661e4657a3c79ffd61
tree45247e9dd84a19acd6a2d024ddcc95007e12a577
parenta99f77021f0c8c1c221af4e36b64ca43abd04389
Remove direct uses of ItemPointer.{ip_blkid,ip_posid}

There are no functional changes here; this simply encapsulates knowledge
of the ItemPointerData struct so that a future patch can change things
without more breakage.

All direct users of ip_blkid and ip_posid are changed to use existing
macros ItemPointerGetBlockNumber and ItemPointerGetOffsetNumber
respectively.  For callers where that's inappropriate (because they
Assert that the itempointer is is valid-looking), add
ItemPointerGetBlockNumberNoCheck and ItemPointerGetOffsetNumberNoCheck,
which lack the assertion but are otherwise identical.

Author: Pavan Deolasee
Discussion: https://postgr.es/m/CABOikdNnFon4cJiL=h1mZH3bgUeU+sWHuU4Yr8AB=j3A2p1GiA@mail.gmail.com
12 files changed:
contrib/pageinspect/btreefuncs.c
contrib/pgstattuple/pgstattuple.c
src/backend/access/gin/ginget.c
src/backend/access/gin/ginpostinglist.c
src/backend/replication/logical/reorderbuffer.c
src/backend/storage/page/itemptr.c
src/backend/utils/adt/tid.c
src/include/access/gin_private.h
src/include/access/ginblock.h
src/include/access/htup_details.h
src/include/access/nbtree.h
src/include/storage/itemptr.h