aboutsummaryrefslogtreecommitdiff
path: root/src/backend/utils/misc/guc.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend/utils/misc/guc.c')
-rw-r--r--src/backend/utils/misc/guc.c30
1 files changed, 17 insertions, 13 deletions
diff --git a/src/backend/utils/misc/guc.c b/src/backend/utils/misc/guc.c
index 05b7b1a68df..3309fbf4e7a 100644
--- a/src/backend/utils/misc/guc.c
+++ b/src/backend/utils/misc/guc.c
@@ -10,7 +10,7 @@
* Written by Peter Eisentraut <peter_e@gmx.net>.
*
* IDENTIFICATION
- * $PostgreSQL: pgsql/src/backend/utils/misc/guc.c,v 1.252.4.4 2006/05/21 20:11:25 tgl Exp $
+ * $PostgreSQL: pgsql/src/backend/utils/misc/guc.c,v 1.252.4.5 2008/05/26 18:54:59 tgl Exp $
*
*--------------------------------------------------------------------
*/
@@ -3426,6 +3426,10 @@ set_config_option(const char *name, const char *value,
source = conf->gen.reset_source;
}
+ /* Save old value to support transaction abort */
+ if (changeVal && !makeDefault)
+ push_old_value(&conf->gen);
+
if (conf->assign_hook)
if (!(*conf->assign_hook) (newval, changeVal, source))
{
@@ -3438,9 +3442,6 @@ set_config_option(const char *name, const char *value,
if (changeVal || makeDefault)
{
- /* Save old value to support transaction abort */
- if (!makeDefault)
- push_old_value(&conf->gen);
if (changeVal)
{
*conf->variable = newval;
@@ -3510,6 +3511,10 @@ set_config_option(const char *name, const char *value,
source = conf->gen.reset_source;
}
+ /* Save old value to support transaction abort */
+ if (changeVal && !makeDefault)
+ push_old_value(&conf->gen);
+
if (conf->assign_hook)
if (!(*conf->assign_hook) (newval, changeVal, source))
{
@@ -3522,9 +3527,6 @@ set_config_option(const char *name, const char *value,
if (changeVal || makeDefault)
{
- /* Save old value to support transaction abort */
- if (!makeDefault)
- push_old_value(&conf->gen);
if (changeVal)
{
*conf->variable = newval;
@@ -3594,6 +3596,10 @@ set_config_option(const char *name, const char *value,
source = conf->gen.reset_source;
}
+ /* Save old value to support transaction abort */
+ if (changeVal && !makeDefault)
+ push_old_value(&conf->gen);
+
if (conf->assign_hook)
if (!(*conf->assign_hook) (newval, changeVal, source))
{
@@ -3606,9 +3612,6 @@ set_config_option(const char *name, const char *value,
if (changeVal || makeDefault)
{
- /* Save old value to support transaction abort */
- if (!makeDefault)
- push_old_value(&conf->gen);
if (changeVal)
{
*conf->variable = newval;
@@ -3691,6 +3694,10 @@ set_config_option(const char *name, const char *value,
free(guc_string_workspace);
guc_string_workspace = newval;
+ /* Save old value to support transaction abort */
+ if (changeVal && !makeDefault)
+ push_old_value(&conf->gen);
+
if (conf->assign_hook)
{
const char *hookresult;
@@ -3728,9 +3735,6 @@ set_config_option(const char *name, const char *value,
if (changeVal || makeDefault)
{
- /* Save old value to support transaction abort */
- if (!makeDefault)
- push_old_value(&conf->gen);
if (changeVal)
{
set_string_field(conf, conf->variable, newval);