From d62a7ac6d39702f6df4d119d0d2e3ba7b382e203 Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Mon, 27 Sep 1999 20:27:32 +0000 Subject: Massimo's SET FSYNC and SHOW PG_OPTIONS changes, without SET QUERY_LIMIT. --- src/backend/commands/variable.c | 37 ++++++++++++++++++++++++++++++++++++- 1 file changed, 36 insertions(+), 1 deletion(-) (limited to 'src/backend/commands/variable.c') diff --git a/src/backend/commands/variable.c b/src/backend/commands/variable.c index d34b97c90df..ffbe98b97ff 100644 --- a/src/backend/commands/variable.c +++ b/src/backend/commands/variable.c @@ -2,7 +2,7 @@ * Routines for handling of 'SET var TO', * 'SHOW var' and 'RESET var' statements. * - * $Id: variable.c,v 1.25 1999/07/17 20:16:54 momjian Exp $ + * $Id: variable.c,v 1.26 1999/09/27 20:27:03 momjian Exp $ * */ @@ -11,11 +11,13 @@ #include "postgres.h" #include "access/xact.h" +#include "catalog/pg_shadow.h" #include "commands/variable.h" #include "miscadmin.h" #include "optimizer/internal.h" #include "utils/builtins.h" #include "utils/tqual.h" +#include "utils/trace.h" #ifdef MULTIBYTE #include "mb/pg_wchar.h" @@ -528,6 +530,36 @@ reset_timezone() return TRUE; } /* reset_timezone() */ +/* + * Pg_options + */ +static bool +parse_pg_options(const char *value) +{ + if (!superuser()) { + elog(ERROR, "Only users with superuser privilege can set pg_options"); + } + parse_options((char *) value, TRUE); + return (TRUE); +} + +static bool +show_pg_options(void) +{ + show_options(); + return (TRUE); +} + +static bool +reset_pg_options(void) +{ + if (!superuser()) { + elog(ERROR, "Only users with superuser privilege can set pg_options"); + } + read_pg_options(0); + return (TRUE); +} + /*-----------------------------------------------------------------------*/ struct VariableParsers @@ -568,6 +600,9 @@ struct VariableParsers { "XactIsoLevel", parse_XactIsoLevel, show_XactIsoLevel, reset_XactIsoLevel }, + { + "pg_options", parse_pg_options, show_pg_options, reset_pg_options + }, { NULL, NULL, NULL, NULL } -- cgit v1.2.3