postgresql/src
Tom Lane 395249ecbe Several changes to reduce the probability of running out of memory during
AbortTransaction, which would lead to recursion and eventual PANIC exit
as illustrated in recent report from Jeff Davis.  First, in xact.c create
a special dedicated memory context for AbortTransaction to run in.  This
solves the problem as long as AbortTransaction doesn't need more than 32K
(or whatever other size we create the context with).  But in corner cases
it might.  Second, in trigger.c arrange to keep pending after-trigger event
records in separate contexts that can be freed near the beginning of
AbortTransaction, rather than having them persist until CleanupTransaction
as before.  Third, in portalmem.c arrange to free executor state data
earlier as well.  These two changes should result in backing off the
out-of-memory condition before AbortTransaction needs any significant
amount of memory, at least in typical cases such as memory overrun due
to too many trigger events or too big an executor hash table.  And all
the same for subtransaction abort too, of course.
2006-11-23 01:14:59 +00:00
..
backend Several changes to reduce the probability of running out of memory during 2006-11-23 01:14:59 +00:00
bin Get rid of retail definitions of HAVE_STRDUP and HAVE_VSNPRINTF in 2006-11-21 23:26:47 +00:00
include Get rid of retail definitions of HAVE_STRDUP and HAVE_VSNPRINTF in 2006-11-21 23:26:47 +00:00
interfaces Get rid of retail definitions of HAVE_STRDUP and HAVE_VSNPRINTF in 2006-11-21 23:26:47 +00:00
makefiles Fix shared library creation to work properly on AIX. Albe Laurenz 2006-09-19 15:36:08 +00:00
pl Fix plpython to work (or at least pass its regression tests) with 2006-11-21 21:51:05 +00:00
port Change Windows rename and unlink substitutes so that they time out after 2006-11-08 20:12:05 +00:00
template Remove extra 'else' in solaris compiler code. 2006-04-28 04:32:10 +00:00
test Fix up some problems in handling of zic-style time zone names in datetime 2006-10-17 21:03:21 +00:00
timezone Translate Windows' GMT Standard Time/GMT Daylight Time zones to 2006-11-21 23:11:55 +00:00
tools VC build patch from Magnus: 2006-11-21 17:54:26 +00:00
tutorial Fix some misuses of strncat(). 2006-09-27 16:19:42 +00:00
bcc32.mak Fix bcc32.mak to create and remove pg_config_os.h properly. Apparently 2006-10-06 18:53:53 +00:00
DEVELOPERS Testing commit stuff 2006-07-10 15:50:02 +00:00
Makefile Remove dllinit.c; it was only needed for long-obsolete Cygwin versions, 2006-06-22 23:50:35 +00:00
Makefile.global.in On Windows, we know the backend stack size limit because we have to 2006-10-08 17:15:34 +00:00
Makefile.shlib Fix shared library creation to work properly on AIX. Albe Laurenz 2006-09-19 15:36:08 +00:00
nls-global.mk When merging PO files, take into consideration translations in other PO 2006-04-05 13:40:15 +00:00
win32.mak Fix win32.mak for config cleanup. 2006-08-08 22:44:05 +00:00