MemoryContext oldcontext;
Page page;
OffsetNumber offset;
+ OffsetNumber maxoff = InvalidOffsetNumber;
if (!superuser())
ereport(ERROR,
page = get_page_from_raw(raw_page);
+ /* Avoid bogus PageGetMaxOffsetNumber() call with deleted pages */
if (GistPageIsDeleted(page))
elog(NOTICE, "page is deleted");
+ else
+ maxoff = PageGetMaxOffsetNumber(page);
for (offset = FirstOffsetNumber;
- offset <= PageGetMaxOffsetNumber(page);
+ offset <= maxoff;
offset++)
{
Datum values[4];
MemoryContext oldcontext;
Page page;
OffsetNumber offset;
+ OffsetNumber maxoff = InvalidOffsetNumber;
if (!superuser())
ereport(ERROR,
page = get_page_from_raw(raw_page);
+ /* Avoid bogus PageGetMaxOffsetNumber() call with deleted pages */
if (GistPageIsDeleted(page))
elog(NOTICE, "page is deleted");
+ else
+ maxoff = PageGetMaxOffsetNumber(page);
for (offset = FirstOffsetNumber;
- offset <= PageGetMaxOffsetNumber(page);
+ offset <= maxoff;
offset++)
{
Datum values[4];