OSDN Git Service

GIN's ItemPointerIsMin, ItemPointerIsMax, and ItemPointerIsLossyPage macros
authorTom Lane <tgl@sss.pgh.pa.us>
Fri, 5 Jun 2009 18:50:47 +0000 (18:50 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Fri, 5 Jun 2009 18:50:47 +0000 (18:50 +0000)
commit52f0fc703f024555b58eac3dbf08c3a78de13263
tree0256756283ae89dfdd740a20244425c55c9a82b5
parent8b78428fc0a6079e5ca8d0e9b50375bd0439e351
GIN's ItemPointerIsMin, ItemPointerIsMax, and ItemPointerIsLossyPage macros
should use GinItemPointerGetBlockNumber/GinItemPointerGetOffsetNumber,
not ItemPointerGetBlockNumber/ItemPointerGetOffsetNumber, because the latter
will Assert() on ip_posid == 0, ie a "Min" pointer.  (Thus, ItemPointerIsMin
has never worked at all, but it seems unused at present.)  I'm not certain
that the case can occur in normal functioning, but it's blowing up on me
while investigating Tatsuo-san's data corruption problem.  In any case it
seems like a problem waiting to bite someone.

Back-patch just in case this really is a problem for somebody in the field.
src/include/access/gin.h