pgsql: Solve the problem of OID collisions by probing for duplicate OIDs

Lists: pgsql-committers
From: tgl(at)svr1(dot)postgresql(dot)org (Tom Lane)
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Solve the problem of OID collisions by probing for duplicate OIDs
Date: 2005-08-12 01:36:06
Message-ID: 20050812013606.CDF5752C83@svr1.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-committers

Log Message:
-----------
Solve the problem of OID collisions by probing for duplicate OIDs
whenever we generate a new OID. This prevents occasional duplicate-OID
errors that can otherwise occur once the OID counter has wrapped around.
Duplicate relfilenode values are also checked for when creating new
physical files. Per my recent proposal.

Modified Files:
--------------
pgsql/doc/src/sgml:
ddl.sgml (r1.42 -> r1.43)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/ddl.sgml.diff?r1=1.42&r2=1.43)
pgsql/src/backend/access/heap:
heapam.c (r1.196 -> r1.197)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/heap/heapam.c.diff?r1=1.196&r2=1.197)
tuptoaster.c (r1.51 -> r1.52)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/heap/tuptoaster.c.diff?r1=1.51&r2=1.52)
pgsql/src/backend/access/transam:
varsup.c (r1.64 -> r1.65)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/transam/varsup.c.diff?r1=1.64&r2=1.65)
pgsql/src/backend/catalog:
catalog.c (r1.62 -> r1.63)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/catalog/catalog.c.diff?r1=1.62&r2=1.63)
heap.c (r1.288 -> r1.289)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/catalog/heap.c.diff?r1=1.288&r2=1.289)
index.c (r1.258 -> r1.259)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/catalog/index.c.diff?r1=1.258&r2=1.259)
pg_type.c (r1.102 -> r1.103)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/catalog/pg_type.c.diff?r1=1.102&r2=1.103)
pgsql/src/backend/commands:
dbcommands.c (r1.169 -> r1.170)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/dbcommands.c.diff?r1=1.169&r2=1.170)
trigger.c (r1.190 -> r1.191)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/trigger.c.diff?r1=1.190&r2=1.191)
typecmds.c (r1.78 -> r1.79)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/typecmds.c.diff?r1=1.78&r2=1.79)
pgsql/src/backend/storage/large_object:
inv_api.c (r1.111 -> r1.112)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/storage/large_object/inv_api.c.diff?r1=1.111&r2=1.112)
pgsql/src/backend/utils/cache:
relcache.c (r1.226 -> r1.227)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/cache/relcache.c.diff?r1=1.226&r2=1.227)
pgsql/src/bin/pg_dump:
pg_backup_archiver.c (r1.111 -> r1.112)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/bin/pg_dump/pg_backup_archiver.c.diff?r1=1.111&r2=1.112)
pg_dump.c (r1.415 -> r1.416)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/bin/pg_dump/pg_dump.c.diff?r1=1.415&r2=1.416)
pgsql/src/include/access:
transam.h (r1.54 -> r1.55)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/access/transam.h.diff?r1=1.54&r2=1.55)
pgsql/src/include/catalog:
catalog.h (r1.32 -> r1.33)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/catalog.h.diff?r1=1.32&r2=1.33)
pg_type.h (r1.164 -> r1.165)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/pg_type.h.diff?r1=1.164&r2=1.165)
pgsql/src/include/utils:
rel.h (r1.84 -> r1.85)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/utils/rel.h.diff?r1=1.84&r2=1.85)
relcache.h (r1.50 -> r1.51)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/utils/relcache.h.diff?r1=1.50&r2=1.51)