postgresql/src/include/utils
Heikki Linnakangas 20cb18db46 Make catalog cache hash tables resizeable.
If the hash table backing a catalog cache becomes too full (fillfactor > 2),
enlarge it. A new buckets array, double the size of the old, is allocated,
and all entries in the old hash are moved to the right bucket in the new
hash.

This has two benefits. First, cache lookups don't get so expensive when
there are lots of entries in a cache, like if you access hundreds of
thousands of tables. Second, we can make the (initial) sizes of the caches
much smaller, which saves memory.

This patch dials down the initial sizes of the catcaches. The new sizes are
chosen so that a backend that only runs a few basic queries still won't need
to enlarge any of them.
2013-09-05 20:20:03 +03:00
..
.gitignore Avoid maintaining three separate copies of the error codes list. 2011-02-03 22:32:49 -05:00
acl.h Update copyrights for 2013 2013-01-01 17:15:01 -05:00
array.h Update copyrights for 2013 2013-01-01 17:15:01 -05:00
ascii.h Update copyrights for 2013 2013-01-01 17:15:01 -05:00
attoptcache.h Fix include-guard 2013-07-07 13:36:20 +02:00
builtins.h Add infrastructure for mapping relfilenodes to relation OIDs. 2013-07-22 11:09:10 -04:00
bytea.h Update copyrights for 2013 2013-01-01 17:15:01 -05:00
cash.h Add casts from int4 and int8 to numeric. 2011-04-05 09:35:43 -04:00
catcache.h Make catalog cache hash tables resizeable. 2013-09-05 20:20:03 +03:00
combocid.h Update copyrights for 2013 2013-01-01 17:15:01 -05:00
date.h Clean up references to SQL92 2013-04-20 11:04:41 -04:00
datetime.h Update copyrights for 2013 2013-01-01 17:15:01 -05:00
datum.h Update copyrights for 2013 2013-01-01 17:15:01 -05:00
dynahash.h Update copyrights for 2013 2013-01-01 17:15:01 -05:00
dynamic_loader.h Update copyrights for 2013 2013-01-01 17:15:01 -05:00
elog.h Emit a log message if output is about to be redirected away from stderr. 2013-08-13 15:24:52 -04:00
evtcache.h pgindent run for release 9.3 2013-05-29 16:58:43 -04:00
fmgrtab.h Update copyrights for 2013 2013-01-01 17:15:01 -05:00
formatting.h Fix to_char() to use ASCII-only case-folding rules where appropriate. 2013-03-05 13:02:30 -05:00
geo_decls.h Update copyrights for 2013 2013-01-01 17:15:01 -05:00
guc.h Update comments concerning PGC_S_TEST. 2013-09-03 18:56:22 -04:00
guc_tables.h Add session_preload_libraries configuration parameter 2013-07-12 21:23:50 -04:00
help_config.h Update copyrights for 2013 2013-01-01 17:15:01 -05:00
hsearch.h Prevent very-low-probability PANIC during PREPARE TRANSACTION. 2013-01-13 22:20:22 -05:00
inet.h Update copyrights for 2013 2013-01-01 17:15:01 -05:00
int8.h Update copyrights for 2013 2013-01-01 17:15:01 -05:00
inval.h Update copyrights for 2013 2013-01-01 17:15:01 -05:00
json.h Add new JSON processing functions and parser API. 2013-03-29 14:12:13 -04:00
jsonapi.h Clean up new JSON API typedefs 2013-07-20 06:38:31 -04:00
logtape.h Update copyrights for 2013 2013-01-01 17:15:01 -05:00
lsyscache.h Update copyrights for 2013 2013-01-01 17:15:01 -05:00
memdebug.h Cooperate with the Valgrind instrumentation framework. 2013-06-26 20:22:25 -04:00
memutils.h Permit super-MaxAllocSize allocations with MemoryContextAllocHuge(). 2013-06-27 14:53:57 -04:00
nabstime.h Update copyrights for 2013 2013-01-01 17:15:01 -05:00
numeric.h Update copyrights for 2013 2013-01-01 17:15:01 -05:00
palloc.h Permit super-MaxAllocSize allocations with MemoryContextAllocHuge(). 2013-06-27 14:53:57 -04:00
pg_crc.h Update copyrights for 2013 2013-01-01 17:15:01 -05:00
pg_crc_tables.h Update copyrights for 2013 2013-01-01 17:15:01 -05:00
pg_locale.h Update copyrights for 2013 2013-01-01 17:15:01 -05:00
pg_lzcompress.h Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
pg_rusage.h Update copyrights for 2013 2013-01-01 17:15:01 -05:00
plancache.h pgindent run for release 9.3 2013-05-29 16:58:43 -04:00
portal.h Update copyrights for 2013 2013-01-01 17:15:01 -05:00
ps_status.h Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
rangetypes.h SP-GiST support of the range adjacent operator -|- 2013-03-08 15:03:19 +02:00
rbtree.h Update copyrights for 2013 2013-01-01 17:15:01 -05:00
rel.h WITH CHECK OPTION support for auto-updatable VIEWs 2013-07-18 17:10:16 -04:00
relcache.h Provide database object names as separate fields in error messages. 2013-01-29 17:08:26 -05:00
relfilenodemap.h Add infrastructure for mapping relfilenodes to relation OIDs. 2013-07-22 11:09:10 -04:00
relmapper.h Add infrastructure for mapping relfilenodes to relation OIDs. 2013-07-22 11:09:10 -04:00
reltrigger.h pgindent run for release 9.3 2013-05-29 16:58:43 -04:00
resowner.h Update copyrights for 2013 2013-01-01 17:15:01 -05:00
resowner_private.h Update copyrights for 2013 2013-01-01 17:15:01 -05:00
selfuncs.h Update copyrights for 2013 2013-01-01 17:15:01 -05:00
snapmgr.h Use an MVCC snapshot, rather than SnapshotNow, for catalog scans. 2013-07-02 09:47:01 -04:00
snapshot.h Adjust HeapTupleSatisfies* routines to take a HeapTuple. 2013-07-22 13:38:44 -04:00
sortsupport.h Update copyrights for 2013 2013-01-01 17:15:01 -05:00
spccache.h Update copyrights for 2013 2013-01-01 17:15:01 -05:00
syscache.h Use an MVCC snapshot, rather than SnapshotNow, for catalog scans. 2013-07-02 09:47:01 -04:00
timeout.h Add lock_timeout configuration parameter. 2013-03-16 23:22:57 -04:00
timestamp.h Clean up references to SQL92 2013-04-20 11:04:41 -04:00
tqual.h Remove SnapshotNow and HeapTupleSatisfiesNow. 2013-08-01 10:46:19 -04:00
tuplesort.h Use type "int64" for memory accounting in tuplesort.c/tuplestore.c. 2013-07-04 23:13:54 -04:00
tuplestore.h Update copyrights for 2013 2013-01-01 17:15:01 -05:00
typcache.h Update copyrights for 2013 2013-01-01 17:15:01 -05:00
tzparser.h Update copyrights for 2013 2013-01-01 17:15:01 -05:00
uuid.h Update copyrights for 2013 2013-01-01 17:15:01 -05:00
varbit.h Update copyrights for 2013 2013-01-01 17:15:01 -05:00
xml.h Update copyrights for 2013 2013-01-01 17:15:01 -05:00