diff options
Diffstat (limited to 'src/backend/utils/misc/guc_funcs.c')
-rw-r--r-- | src/backend/utils/misc/guc_funcs.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/src/backend/utils/misc/guc_funcs.c b/src/backend/utils/misc/guc_funcs.c index 108b3bd1290..23da603fe76 100644 --- a/src/backend/utils/misc/guc_funcs.c +++ b/src/backend/utils/misc/guc_funcs.c @@ -166,12 +166,22 @@ ExecSetVariableStmt(VariableSetStmt *stmt, bool isTopLevel) char * ExtractSetVariableArgs(VariableSetStmt *stmt) { + switch (stmt->kind) { case VAR_SET_VALUE: return flatten_set_variable_args(stmt->name, stmt->args); case VAR_SET_CURRENT: - return GetConfigOptionByName(stmt->name, NULL, false); + { + struct config_generic *record; + char *result; + + result = GetConfigOptionByName(stmt->name, NULL, false); + record = find_option(stmt->name, false, false, ERROR); + stmt->user_set = (record->scontext == PGC_USERSET); + + return result; + } default: return NULL; } |