Re: remove redundant check of item pointer - Mailing list pgsql-hackers

From Tom Lane
Subject Re: remove redundant check of item pointer
Date
Msg-id 388047.1651073669@sss.pgh.pa.us
Whole thread Raw
In response to remove redundant check of item pointer  (Junwang Zhao <zhjwpku@gmail.com>)
Responses Re: remove redundant check of item pointer  (Junwang Zhao <zhjwpku@gmail.com>)
List pgsql-hackers
Junwang Zhao <zhjwpku@gmail.com> writes:
> In function ItemPointerEquals, the ItemPointerGetBlockNumber
> already checked the ItemPointer if valid, there is no need
> to check it again in ItemPointerGetOffset, so use
> ItemPointerGetOffsetNumberNoCheck instead.

I do not think this change is worth making.  The point of
ItemPointerGetOffsetNumberNoCheck is not to save some cycles,
it's to be able to fetch the offset field in cases where it might
validly be zero.  The assertion will be compiled out anyway in
production builds --- and even in assert-enabled builds, I'd kind
of expect the compiler to optimize away the duplicated tests.

            regards, tom lane



pgsql-hackers by date:

Previous
From: Junwang Zhao
Date:
Subject: remove redundant check of item pointer
Next
From: Tom Lane
Date:
Subject: Unstable tests for recovery conflict handling