Skip to content

Commit 7bed6df

Browse files
committed
Check only live tuples for OID validity, to avoid issues after ALTER
TABLE. Per recent discussion.
1 parent 1ecd035 commit 7bed6df

File tree

2 files changed

+18
-18
lines changed

2 files changed

+18
-18
lines changed

src/backend/commands/vacuum.c

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
*
1414
*
1515
* IDENTIFICATION
16-
* $PostgreSQL: pgsql/src/backend/commands/vacuum.c,v 1.273 2004/02/10 03:42:43 tgl Exp $
16+
* $PostgreSQL: pgsql/src/backend/commands/vacuum.c,v 1.274 2004/02/12 05:39:55 tgl Exp $
1717
*
1818
*-------------------------------------------------------------------------
1919
*/
@@ -1178,6 +1178,14 @@ scan_heap(VRelStats *vacrelstats, Relation onerel,
11781178
Assert(tuple.t_data->t_infomask & HEAP_XMIN_COMMITTED);
11791179
pgchanged = true;
11801180
}
1181+
1182+
/*
1183+
* Other checks...
1184+
*/
1185+
if (onerel->rd_rel->relhasoids &&
1186+
!OidIsValid(HeapTupleGetOid(&tuple)))
1187+
elog(WARNING, "relation \"%s\" TID %u/%u: OID is invalid",
1188+
relname, blkno, offnum);
11811189
break;
11821190
case HEAPTUPLE_RECENTLY_DEAD:
11831191

@@ -1244,14 +1252,6 @@ scan_heap(VRelStats *vacrelstats, Relation onerel,
12441252
if (sv_infomask != tuple.t_data->t_infomask)
12451253
pgchanged = true;
12461254

1247-
/*
1248-
* Other checks...
1249-
*/
1250-
if (onerel->rd_rel->relhasoids &&
1251-
!OidIsValid(HeapTupleGetOid(&tuple)))
1252-
elog(WARNING, "relation \"%s\" TID %u/%u: OID is invalid",
1253-
relname, blkno, offnum);
1254-
12551255
if (tupgone)
12561256
{
12571257
ItemId lpp;

src/backend/commands/vacuumlazy.c

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131
*
3232
*
3333
* IDENTIFICATION
34-
* $PostgreSQL: pgsql/src/backend/commands/vacuumlazy.c,v 1.37 2004/02/10 03:42:44 tgl Exp $
34+
* $PostgreSQL: pgsql/src/backend/commands/vacuumlazy.c,v 1.38 2004/02/12 05:39:55 tgl Exp $
3535
*
3636
*-------------------------------------------------------------------------
3737
*/
@@ -336,6 +336,14 @@ lazy_scan_heap(Relation onerel, LVRelStats *vacrelstats,
336336
Assert(tuple.t_data->t_infomask & HEAP_XMIN_COMMITTED);
337337
pgchanged = true;
338338
}
339+
340+
/*
341+
* Other checks...
342+
*/
343+
if (onerel->rd_rel->relhasoids &&
344+
!OidIsValid(HeapTupleGetOid(&tuple)))
345+
elog(WARNING, "relation \"%s\" TID %u/%u: OID is invalid",
346+
relname, blkno, offnum);
339347
break;
340348
case HEAPTUPLE_RECENTLY_DEAD:
341349

@@ -360,14 +368,6 @@ lazy_scan_heap(Relation onerel, LVRelStats *vacrelstats,
360368
if (sv_infomask != tuple.t_data->t_infomask)
361369
pgchanged = true;
362370

363-
/*
364-
* Other checks...
365-
*/
366-
if (onerel->rd_rel->relhasoids &&
367-
!OidIsValid(HeapTupleGetOid(&tuple)))
368-
elog(WARNING, "relation \"%s\" TID %u/%u: OID is invalid",
369-
relname, blkno, offnum);
370-
371371
if (tupgone)
372372
{
373373
lazy_record_dead_tuple(vacrelstats, &(tuple.t_self));

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy