Make oidin/oidout produce and consume unsigned representation of Oid,
authorTom Lane <tgl@sss.pgh.pa.us>
Tue, 21 Nov 2000 03:23:21 +0000 (03:23 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Tue, 21 Nov 2000 03:23:21 +0000 (03:23 +0000)
commit870b4095d23119a8eb9c24ee4080746e681b1ca7
tree5437b67296bd7a712cd2c6ab148a80c57719d1e6
parent20f471be8f698f0fc823e24858f31965d63ceca0
Make oidin/oidout produce and consume unsigned representation of Oid,
rather than just being aliases for int4in/int4out.  Give type Oid a
full set of comparison operators that do proper unsigned comparison,
instead of reusing the int4 comparators.  Since pg_dump is now doing
unsigned comparisons of OIDs, it is now *necessary* that we play by
the rules here.  In fact, given that btoidcmp() has been doing unsigned
comparison for quite some time, it seems likely that we have index-
corruption problems in 7.0 and before once the Oid counter goes past
2G.  Fixing these operators is a necessary step before we can think
about 8-byte Oid, too.
src/backend/utils/adt/oid.c
src/include/catalog/catversion.h
src/include/catalog/pg_operator.h
src/include/catalog/pg_proc.h
src/include/utils/builtins.h
src/test/regress/expected/oid.out
src/test/regress/sql/oid.sql