Rearrange fmgr.c and relcache so that it's possible to keep FmgrInfo

Tom Lane <tgl@sss.pgh.pa.us>

Commit: 85801a4dbdee22f230637311681b8b03a72979db
Author: Tom Lane <tgl@sss.pgh.pa.us>
Date: 2001-10-06T23:21:45Z
Releases: 7.2.1
Rearrange fmgr.c and relcache so that it's possible to keep FmgrInfo
lookup info in the relcache for index access method support functions.
This makes a huge difference for dynamically loaded support functions,
and should save a few cycles even for built-in ones.  Also tweak dfmgr.c
so that load_external_function is called only once, not twice, when
doing fmgr_info for a dynamically loaded function.  All per performance
gripe from Teodor Sigaev, 5-Oct-01.

Files

PathChange+/−
src/backend/access/common/scankey.c modified +29 −1
src/backend/access/gist/gist.c modified +22 −22
src/backend/access/hash/hashutil.c modified +16 −8
src/backend/access/index/indexam.c modified +48 −2
src/backend/access/index/istrat.c modified +3 −6
src/backend/access/nbtree/nbtsearch.c modified +10 −5
src/backend/access/nbtree/nbtutils.c modified +17 −15
src/backend/access/rtree/rtree.c modified +10 −12
src/backend/catalog/heap.c modified +2 −16
src/backend/catalog/index.c modified +9 −89
src/backend/catalog/pg_proc.c modified +6 −3
src/backend/utils/adt/ri_triggers.c modified +2 −5
src/backend/utils/adt/varbit.c modified +4 −3
src/backend/utils/adt/varchar.c modified +3 −3
src/backend/utils/cache/catcache.c modified +5 −18
src/backend/utils/cache/fcache.c modified +5 −9
src/backend/utils/cache/Makefile modified +2 −2
src/backend/utils/cache/rel.c deleted +0 −49
src/backend/utils/cache/relcache.c modified +82 −33
src/backend/utils/fmgr/dfmgr.c modified +28 −9
src/backend/utils/fmgr/fmgr.c modified +55 −17
src/include/access/genam.h modified +3 −1
src/include/access/skey.h modified +4 −1
src/include/catalog/index.h modified +1 −5
src/include/fmgr.h modified +21 −5
src/include/utils/relcache.h modified +4 −1
src/include/utils/rel.h modified +12 −13
src/pl/plperl/plperl.c modified +5 −9
src/pl/plpgsql/src/pl_comp.c modified +5 −9
src/pl/plpython/plpython.c modified +5 −9
src/pl/tcl/pltcl.c modified +5 −9