postgresql/src/backend
Tom Lane a3d9a2421a Fix an old corner-case bug in set_config_option: push_old_value has to be
called before, not after, calling the assign_hook if any.  This is because
push_old_value might fail (due to palloc out-of-memory), and in that case
there would be no stack entry to tell transaction abort to undo the GUC
assignment.  Of course the actual assignment to the GUC variable hasn't
happened yet --- but the assign_hook might have altered subsidiary state.
Without a stack entry we won't call it again to make it undo such actions.
So this is necessary to make the world safe for assign_hooks with side
effects.  Per a discussion a couple weeks ago with Magnus.

Back-patch to 8.0.  7.x did not have the problem because it did not have
allocatable stacks of GUC values.
2008-05-26 18:54:29 +00:00
..
access Remove arbitrary 10MB limit on two-phase state file size. It's not that hard 2008-05-19 18:16:26 +00:00
bootstrap Restructure some header files a bit, in particular heapam.h, by removing some 2008-05-12 00:00:54 +00:00
catalog Add a RESTART (without parameter) option to ALTER SEQUENCE, allowing a 2008-05-16 23:36:05 +00:00
commands Coercion sanity check in ri_HashCompareOp failed to allow for enums, as per 2008-05-19 04:14:24 +00:00
executor Add support for tracking call counts and elapsed runtime for user-defined 2008-05-15 00:17:41 +00:00
lib Refactor backend makefiles to remove lots of duplicate code 2008-02-19 10:30:09 +00:00
libpq Use error message wordings for permissions checks on .pgpass and SSL private 2008-03-31 02:43:14 +00:00
main Refactor backend makefiles to remove lots of duplicate code 2008-02-19 10:30:09 +00:00
nodes Add a RESTART (without parameter) option to ALTER SEQUENCE, allowing a 2008-05-16 23:36:05 +00:00
optimizer Extend GIN to support partial-match searches, and extend tsquery to support 2008-05-16 16:31:02 +00:00
parser Link in keywords file instead of copying it. 2008-05-21 19:51:01 +00:00
po Translation updates 2008-01-31 18:04:52 +00:00
port Add $PostgreSQL$ markers to a lot of files that were missing them. 2008-05-17 01:28:26 +00:00
postmaster Add support for tracking call counts and elapsed runtime for user-defined 2008-05-15 00:17:41 +00:00
regex Refactor backend makefiles to remove lots of duplicate code 2008-02-19 10:30:09 +00:00
rewrite Restructure some header files a bit, in particular heapam.h, by removing some 2008-05-12 00:00:54 +00:00
snowball Implement a few changes to how shared libraries and dynamically loadable 2008-04-07 14:15:58 +00:00
storage This is the patch replace offnum++ by OffsetNumberNext, to be 2008-05-13 15:44:08 +00:00
tcop Add support for tracking call counts and elapsed runtime for user-defined 2008-05-15 00:17:41 +00:00
tsearch Extend GIN to support partial-match searches, and extend tsquery to support 2008-05-16 16:31:02 +00:00
utils Fix an old corner-case bug in set_config_option: push_old_value has to be 2008-05-26 18:54:29 +00:00
common.mk We need to rebuild objfiles.txt when one of the subdirectories' objfiles.txt 2008-03-17 18:24:56 +00:00
Makefile Enable probes to work with Mac OS X Leopard and other OSes that will 2008-03-17 19:44:41 +00:00
nls.mk Add a new ereport auxiliary function errdetail_log(), which works the same as 2008-03-24 18:08:47 +00:00