]> granicus.if.org Git - postgresql/commit
Reduce the size of the fmgr_builtin_oid_index[] array.
authorTom Lane <tgl@sss.pgh.pa.us>
Wed, 9 Jan 2019 20:22:43 +0000 (15:22 -0500)
committerTom Lane <tgl@sss.pgh.pa.us>
Wed, 9 Jan 2019 20:22:43 +0000 (15:22 -0500)
commit8ff5f824dca75174e3d3efc7c1182cf1d388bacc
tree621742cf35bfeca03a39bd8c0619b4c617d52096
parent59029b6fb71e187c150d12f4c37bb2bf982d3125
Reduce the size of the fmgr_builtin_oid_index[] array.

This index array was originally defined to have 10000 entries (ranging
up to FirstGenbkiObjectId), but we really only need entries up to the
last existing builtin function OID, currently 6121.  That saves close
to 8K of never-accessed space in the server executable, at the small
price of one more fetch in fmgr_isbuiltin().

We could reduce the array size still further by renumbering a few of
the highest-numbered builtin functions; but there's a small risk of
breaking clients that have chosen to hardwire those function OIDs,
so it's not clear if it'd be worth the trouble.  (We should, however,
discourage future patches from choosing function OIDs above 6K as long
as there's still lots of space below that.)

Discussion: https://postgr.es/m/12359.1547063064@sss.pgh.pa.us
src/backend/utils/Gen_fmgrtab.pl
src/backend/utils/fmgr/fmgr.c
src/include/utils/fmgrtab.h