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/bootstrap/bootstrap.c | 3 +-- src/backend/commands/variable.c | 37 ++++++++++++++++++++++++++++++++++++- src/backend/utils/init/globals.c | 3 +-- src/backend/utils/misc/trace.c | 11 +++++++++++ src/bin/psql/psqlHelp.h | 7 ++++--- src/include/miscadmin.h | 6 ++++-- src/include/utils/trace.h | 2 ++ 7 files changed, 59 insertions(+), 10 deletions(-) (limited to 'src') diff --git a/src/backend/bootstrap/bootstrap.c b/src/backend/bootstrap/bootstrap.c index 18d9567ab8..c20a63fc6d 100644 --- a/src/backend/bootstrap/bootstrap.c +++ b/src/backend/bootstrap/bootstrap.c @@ -7,7 +7,7 @@ * Copyright (c) 1994, Regents of the University of California * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/bootstrap/bootstrap.c,v 1.67 1999/09/18 19:06:27 tgl Exp $ + * $Header: /cvsroot/pgsql/src/backend/bootstrap/bootstrap.c,v 1.68 1999/09/27 20:26:58 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -134,7 +134,6 @@ static char *relname; /* current relation name */ Form_pg_attribute attrtypes[MAXATTR]; /* points to attribute info */ static char *values[MAXATTR]; /* cooresponding attribute values */ int numattr; /* number of attributes for cur. rel */ -extern bool disableFsync; /* do not fsync the database */ int DebugMode; static GlobalMemory nogc = (GlobalMemory) NULL; /* special no-gc mem diff --git a/src/backend/commands/variable.c b/src/backend/commands/variable.c index d34b97c90d..ffbe98b97f 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 } diff --git a/src/backend/utils/init/globals.c b/src/backend/utils/init/globals.c index 1cde72e6b2..281db5a541 100644 --- a/src/backend/utils/init/globals.c +++ b/src/backend/utils/init/globals.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/utils/init/globals.c,v 1.36 1999/07/17 20:18:08 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/utils/init/globals.c,v 1.37 1999/09/27 20:27:09 momjian Exp $ * * NOTES * Globals used all over the place should be declared here and not @@ -76,7 +76,6 @@ char DateFormat[20] = "%d-%m-%Y"; /* mjl: sizes! or better * malloc? XXX */ char FloatFormat[20] = "%f"; -bool disableFsync = false; bool allowSystemTableMods = false; int SortMem = 512; diff --git a/src/backend/utils/misc/trace.c b/src/backend/utils/misc/trace.c index 3d9cbe607d..2a1fe5ab8d 100644 --- a/src/backend/utils/misc/trace.c +++ b/src/backend/utils/misc/trace.c @@ -73,6 +73,7 @@ static char *opt_names[] = { "lock_debug_relid", "lock_read_priority", /* lock priority, see lock.c */ "deadlock_timeout", /* deadlock timeout, see proc.c */ + "nofsync", /* turn fsync off */ "syslog", /* use syslog for error messages */ "hostlookup", /* enable hostname lookup in ps_status */ "showportnumber", /* show port number in ps_status */ @@ -405,6 +406,16 @@ read_pg_options(SIGNAL_ARGS) close(fd); } +void +show_options(void) +{ + int i; + + for (i=0; i