summaryrefslogtreecommitdiff
path: root/src/backend/utils/adt/tid.c
diff options
context:
space:
mode:
authorAlvaro Herrera <alvherre@alvh.no-ip.org>2017-03-28 12:52:55 -0300
committerAlvaro Herrera <alvherre@alvh.no-ip.org>2017-03-28 19:02:23 -0300
commitce96ce60ca2293f75f36c3661e4657a3c79ffd61 (patch)
tree45247e9dd84a19acd6a2d024ddcc95007e12a577 /src/backend/utils/adt/tid.c
parenta99f77021f0c8c1c221af4e36b64ca43abd04389 (diff)
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
Diffstat (limited to 'src/backend/utils/adt/tid.c')
-rw-r--r--src/backend/utils/adt/tid.c17
1 files changed, 6 insertions, 11 deletions
diff --git a/src/backend/utils/adt/tid.c b/src/backend/utils/adt/tid.c
index 49a5a157b94..8453b65e78a 100644
--- a/src/backend/utils/adt/tid.c
+++ b/src/backend/utils/adt/tid.c
@@ -109,8 +109,8 @@ tidout(PG_FUNCTION_ARGS)
OffsetNumber offsetNumber;
char buf[32];
- blockNumber = BlockIdGetBlockNumber(&(itemPtr->ip_blkid));
- offsetNumber = itemPtr->ip_posid;
+ blockNumber = ItemPointerGetBlockNumberNoCheck(itemPtr);
+ offsetNumber = ItemPointerGetOffsetNumberNoCheck(itemPtr);
/* Perhaps someday we should output this as a record. */
snprintf(buf, sizeof(buf), "(%u,%u)", blockNumber, offsetNumber);
@@ -146,18 +146,13 @@ Datum
tidsend(PG_FUNCTION_ARGS)
{
ItemPointer itemPtr = PG_GETARG_ITEMPOINTER(0);
- BlockId blockId;
- BlockNumber blockNumber;
- OffsetNumber offsetNumber;
StringInfoData buf;
- blockId = &(itemPtr->ip_blkid);
- blockNumber = BlockIdGetBlockNumber(blockId);
- offsetNumber = itemPtr->ip_posid;
-
pq_begintypsend(&buf);
- pq_sendint(&buf, blockNumber, sizeof(blockNumber));
- pq_sendint(&buf, offsetNumber, sizeof(offsetNumber));
+ pq_sendint(&buf, ItemPointerGetBlockNumberNoCheck(itemPtr),
+ sizeof(BlockNumber));
+ pq_sendint(&buf, ItemPointerGetOffsetNumberNoCheck(itemPtr),
+ sizeof(OffsetNumber));
PG_RETURN_BYTEA_P(pq_endtypsend(&buf));
}