diff options
Diffstat (limited to 'src/backend/utils/misc/guc.c')
-rw-r--r-- | src/backend/utils/misc/guc.c | 30 |
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); |