postgresql/src
Tom Lane 9513918c6c Fix up flushing of composite-type typcache entries to be driven directly by
SI invalidation events, rather than indirectly through the relcache.

In the previous coding, we had to flush a composite-type typcache entry
whenever we discarded the corresponding relcache entry.  This caused problems
at least when testing with RELCACHE_FORCE_RELEASE, as shown in recent report
from Jeff Davis, and might result in real-world problems given the kind of
unexpected relcache flush that that test mechanism is intended to model.

The new coding decouples relcache and typcache management, which is a good
thing anyway from a structural perspective.  The cost is that we have to
search the typcache linearly to find entries that need to be flushed.  There
are a couple of ways we could avoid that, but at the moment it's not clear
it's worth any extra trouble, because the typcache contains very few entries
in typical operation.

Back-patch to 8.2, the same as some other recent fixes in this general area.
The patch could be carried back to 8.0 with some additional work, but given
that it's only hypothetical whether we're fixing any problem observable in
the field, it doesn't seem worth the work now.
2010-09-02 03:16:46 +00:00
..
backend Fix up flushing of composite-type typcache entries to be driven directly by 2010-09-02 03:16:46 +00:00
bin Avoid passing signed chars to <ctype.h> functions ... same old 2010-08-25 00:53:37 +00:00
include Fix up flushing of composite-type typcache entries to be driven directly by 2010-09-02 03:16:46 +00:00
interfaces Remove extra newlines at end and beginning of files, add missing newlines 2010-08-19 05:57:36 +00:00
makefiles Allow for LDFLAGS_SL already having a value in Makefile.aix. 2010-07-06 03:41:02 +00:00
pl Catch null pointer returns from PyCObject_AsVoidPtr and PyCObject_FromVoidPtr 2010-08-25 19:37:56 +00:00
port Remove extra newlines at end and beginning of files, add missing newlines 2010-08-19 05:57:36 +00:00
template Remove extra newlines at end and beginning of files, add missing newlines 2010-08-19 05:57:36 +00:00
test Improve wording for privilege description on certain failure messages; the 2010-08-26 19:49:08 +00:00
timezone Update time zone data files to tzdata release 2010l: DST law changes in 2010-08-26 19:58:36 +00:00
tools Remove extra newlines at end and beginning of files, add missing newlines 2010-08-19 05:57:36 +00:00
tutorial Remove extra newlines at end and beginning of files, add missing newlines 2010-08-19 05:57:36 +00:00
bcc32.mak
DEVELOPERS
Makefile Rethink the way walreceiver is linked into the backend. Instead than shoving 2010-01-20 09:16:24 +00:00
Makefile.global.in When in automatic dependency mode, never delete any intermediate 2010-08-24 18:06:12 +00:00
Makefile.shlib Still more third thoughts: when linking shared libraries, LDFLAGS probably 2010-07-06 03:55:33 +00:00
nls-global.mk Avoid error from mkdir if no languages are to be installed 2010-05-13 14:35:28 +00:00
win32.mak