pgsql: Completion of project to use fixed OIDs for all system catalogs

Started by Tom Laneabout 21 years ago3 messagescomitters
Jump to latest
#1Tom Lane
tgl@sss.pgh.pa.us

Log Message:
-----------
Completion of project to use fixed OIDs for all system catalogs and
indexes. Replace all heap_openr and index_openr calls by heap_open
and index_open. Remove runtime lookups of catalog OID numbers in
various places. Remove relcache's support for looking up system
catalogs by name. Bulky but mostly very boring patch ...

Modified Files:
--------------
pgsql/contrib/dblink:
dblink.c (r1.39 -> r1.40)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/contrib/dblink/dblink.c.diff?r1=1.39&r2=1.40)
pgsql/contrib/intagg:
int_aggregate.c (r1.16 -> r1.17)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/contrib/intagg/int_aggregate.c.diff?r1=1.16&r2=1.17)
pgsql/contrib/miscutil:
misc_utils.c (r1.20 -> r1.21)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/contrib/miscutil/misc_utils.c.diff?r1=1.20&r2=1.21)
pgsql/src/backend/access/heap:
heapam.c (r1.186 -> r1.187)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/heap/heapam.c.diff?r1=1.186&r2=1.187)
pgsql/src/backend/access/index:
genam.c (r1.46 -> r1.47)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/index/genam.c.diff?r1=1.46&r2=1.47)
indexam.c (r1.79 -> r1.80)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/index/indexam.c.diff?r1=1.79&r2=1.80)
pgsql/src/backend/bootstrap:
bootstrap.c (r1.201 -> r1.202)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/bootstrap/bootstrap.c.diff?r1=1.201&r2=1.202)
pgsql/src/backend/catalog:
aclchk.c (r1.110 -> r1.111)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/catalog/aclchk.c.diff?r1=1.110&r2=1.111)
catalog.c (r1.58 -> r1.59)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/catalog/catalog.c.diff?r1=1.58&r2=1.59)
dependency.c (r1.43 -> r1.44)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/catalog/dependency.c.diff?r1=1.43&r2=1.44)
genbki.sh (r1.35 -> r1.36)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/catalog/genbki.sh.diff?r1=1.35&r2=1.36)
heap.c (r1.283 -> r1.284)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/catalog/heap.c.diff?r1=1.283&r2=1.284)
index.c (r1.251 -> r1.252)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/catalog/index.c.diff?r1=1.251&r2=1.252)
namespace.c (r1.74 -> r1.75)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/catalog/namespace.c.diff?r1=1.74&r2=1.75)
pg_aggregate.c (r1.74 -> r1.75)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/catalog/pg_aggregate.c.diff?r1=1.74&r2=1.75)
pg_constraint.c (r1.24 -> r1.25)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/catalog/pg_constraint.c.diff?r1=1.24&r2=1.25)
pg_conversion.c (r1.21 -> r1.22)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/catalog/pg_conversion.c.diff?r1=1.21&r2=1.22)
pg_depend.c (r1.12 -> r1.13)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/catalog/pg_depend.c.diff?r1=1.12&r2=1.13)
pg_largeobject.c (r1.23 -> r1.24)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/catalog/pg_largeobject.c.diff?r1=1.23&r2=1.24)
pg_namespace.c (r1.12 -> r1.13)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/catalog/pg_namespace.c.diff?r1=1.12&r2=1.13)
pg_operator.c (r1.90 -> r1.91)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/catalog/pg_operator.c.diff?r1=1.90&r2=1.91)
pg_proc.c (r1.127 -> r1.128)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/catalog/pg_proc.c.diff?r1=1.127&r2=1.128)
pg_type.c (r1.99 -> r1.100)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/catalog/pg_type.c.diff?r1=1.99&r2=1.100)
pgsql/src/backend/commands:
aggregatecmds.c (r1.25 -> r1.26)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/aggregatecmds.c.diff?r1=1.25&r2=1.26)
analyze.c (r1.84 -> r1.85)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/analyze.c.diff?r1=1.84&r2=1.85)
async.c (r1.120 -> r1.121)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/async.c.diff?r1=1.120&r2=1.121)
cluster.c (r1.135 -> r1.136)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/cluster.c.diff?r1=1.135&r2=1.136)
comment.c (r1.82 -> r1.83)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/comment.c.diff?r1=1.82&r2=1.83)
conversioncmds.c (r1.16 -> r1.17)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/conversioncmds.c.diff?r1=1.16&r2=1.17)
copy.c (r1.239 -> r1.240)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/copy.c.diff?r1=1.239&r2=1.240)
dbcommands.c (r1.155 -> r1.156)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/dbcommands.c.diff?r1=1.155&r2=1.156)
functioncmds.c (r1.60 -> r1.61)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/functioncmds.c.diff?r1=1.60&r2=1.61)
indexcmds.c (r1.129 -> r1.130)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/indexcmds.c.diff?r1=1.129&r2=1.130)
opclasscmds.c (r1.31 -> r1.32)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/opclasscmds.c.diff?r1=1.31&r2=1.32)
operatorcmds.c (r1.20 -> r1.21)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/operatorcmds.c.diff?r1=1.20&r2=1.21)
proclang.c (r1.59 -> r1.60)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/proclang.c.diff?r1=1.59&r2=1.60)
schemacmds.c (r1.28 -> r1.29)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/schemacmds.c.diff?r1=1.28&r2=1.29)
tablecmds.c (r1.154 -> r1.155)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/tablecmds.c.diff?r1=1.154&r2=1.155)
tablespace.c (r1.16 -> r1.17)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/tablespace.c.diff?r1=1.16&r2=1.17)
trigger.c (r1.185 -> r1.186)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/trigger.c.diff?r1=1.185&r2=1.186)
typecmds.c (r1.69 -> r1.70)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/typecmds.c.diff?r1=1.69&r2=1.70)
user.c (r1.150 -> r1.151)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/user.c.diff?r1=1.150&r2=1.151)
vacuum.c (r1.305 -> r1.306)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/vacuum.c.diff?r1=1.305&r2=1.306)
pgsql/src/backend/executor:
execUtils.c (r1.120 -> r1.121)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/executor/execUtils.c.diff?r1=1.120&r2=1.121)
pgsql/src/backend/optimizer/util:
plancat.c (r1.104 -> r1.105)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/util/plancat.c.diff?r1=1.104&r2=1.105)
pgsql/src/backend/parser:
analyze.c (r1.319 -> r1.320)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/parser/analyze.c.diff?r1=1.319&r2=1.320)
parse_func.c (r1.177 -> r1.178)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/parser/parse_func.c.diff?r1=1.177&r2=1.178)
pgsql/src/backend/postmaster:
pgstat.c (r1.90 -> r1.91)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/postmaster/pgstat.c.diff?r1=1.90&r2=1.91)
pgsql/src/backend/rewrite:
rewriteDefine.c (r1.103 -> r1.104)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/rewrite/rewriteDefine.c.diff?r1=1.103&r2=1.104)
rewriteRemove.c (r1.61 -> r1.62)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/rewrite/rewriteRemove.c.diff?r1=1.61&r2=1.62)
rewriteSupport.c (r1.60 -> r1.61)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/rewrite/rewriteSupport.c.diff?r1=1.60&r2=1.61)
pgsql/src/backend/storage/large_object:
inv_api.c (r1.109 -> r1.110)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/storage/large_object/inv_api.c.diff?r1=1.109&r2=1.110)
pgsql/src/backend/utils/adt:
regproc.c (r1.93 -> r1.94)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/adt/regproc.c.diff?r1=1.93&r2=1.94)
ruleutils.c (r1.192 -> r1.193)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/adt/ruleutils.c.diff?r1=1.192&r2=1.193)
selfuncs.c (r1.176 -> r1.177)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/adt/selfuncs.c.diff?r1=1.176&r2=1.177)
pgsql/src/backend/utils/cache:
catcache.c (r1.119 -> r1.120)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/cache/catcache.c.diff?r1=1.119&r2=1.120)
lsyscache.c (r1.123 -> r1.124)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/cache/lsyscache.c.diff?r1=1.123&r2=1.124)
relcache.c (r1.219 -> r1.220)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/cache/relcache.c.diff?r1=1.219&r2=1.220)
syscache.c (r1.97 -> r1.98)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/cache/syscache.c.diff?r1=1.97&r2=1.98)
typcache.c (r1.11 -> r1.12)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/cache/typcache.c.diff?r1=1.11&r2=1.12)
pgsql/src/backend/utils/init:
flatfiles.c (r1.5 -> r1.6)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/init/flatfiles.c.diff?r1=1.5&r2=1.6)
miscinit.c (r1.138 -> r1.139)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/init/miscinit.c.diff?r1=1.138&r2=1.139)
postinit.c (r1.144 -> r1.145)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/init/postinit.c.diff?r1=1.144&r2=1.145)
pgsql/src/include/access:
genam.h (r1.49 -> r1.50)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/access/genam.h.diff?r1=1.49&r2=1.50)
heapam.h (r1.98 -> r1.99)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/access/heapam.h.diff?r1=1.98&r2=1.99)
pgsql/src/include/catalog:
indexing.h (r1.86 -> r1.87)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/indexing.h.diff?r1=1.86&r2=1.87)
pgsql/src/include/utils:
catcache.h (r1.53 -> r1.54)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/utils/catcache.h.diff?r1=1.53&r2=1.54)
lsyscache.h (r1.97 -> r1.98)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/utils/lsyscache.h.diff?r1=1.97&r2=1.98)
relcache.h (r1.49 -> r1.50)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/utils/relcache.h.diff?r1=1.49&r2=1.50)
pgsql/src/pl/plpgsql/src:
pl_comp.c (r1.87 -> r1.88)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/pl/plpgsql/src/pl_comp.c.diff?r1=1.87&r2=1.88)

Removed Files:
-------------
pgsql/src/include/catalog:
catname.h
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/catname.h)

#2Christopher Kings-Lynne
chriskl@familyhealth.com.au
In reply to: Tom Lane (#1)
Re: pgsql: Completion of project to use fixed OIDs for

Completion of project to use fixed OIDs for all system catalogs and
indexes. Replace all heap_openr and index_openr calls by heap_open
and index_open. Remove runtime lookups of catalog OID numbers in
various places. Remove relcache's support for looking up system
catalogs by name. Bulky but mostly very boring patch ...

Did all of this end up buying much performance improvement?

#3Tom Lane
tgl@sss.pgh.pa.us
In reply to: Christopher Kings-Lynne (#2)
Re: pgsql: Completion of project to use fixed OIDs for

Christopher Kings-Lynne <chriskl@familyhealth.com.au> writes:

Completion of project to use fixed OIDs for all system catalogs and
indexes.

Did all of this end up buying much performance improvement?

Not much in a simple test. It did make the backend executable a bit
smaller though, and simplified the code in a number of places, so
I still think it was worth the trouble.

regards, tom lane