+++ /dev/null
- by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id SAA04220
- for ; Fri, 9 Oct 1998 18:22:08 -0400 (EDT)
-Received: from localhost (majordom@localhost)
- by hub.org (8.8.8/8.8.8) with SMTP id SAA26960;
- Fri, 9 Oct 1998 18:18:29 -0400 (EDT)
-Received: by hub.org (TLB v0.10a (1.23 tibbs 1997/01/09 00:29:32)); Fri, 09 Oct 1998 18:18:07 +0000 (EDT)
-Received: (from majordom@localhost)
- by hub.org (8.8.8/8.8.8) id SAA26917
- for pgsql-general-outgoing; Fri, 9 Oct 1998 18:18:04 -0400 (EDT)
-X-Authentication-Warning: hub.org: majordom set sender to
[email protected] using -f
-Received: from gecko.statsol.com (gecko.statsol.com [198.11.51.133])
- by hub.org (8.8.8/8.8.8) with ESMTP id SAA26904
- for
; Fri, 9 Oct 1998 18:17:46 -0400 (EDT)
-Received: from gecko (gecko [198.11.51.133])
- by gecko.statsol.com (8.9.0/8.9.0) with SMTP id SAA00557
- for
; Fri, 9 Oct 1998 18:18:00 -0400 (EDT)
-Date: Fri, 9 Oct 1998 18:18:00 -0400 (EDT)
-From: Steve Doliov
-X-Sender: statsol@gecko
-Subject: Re: [GENERAL] Making NULLs visible.
-MIME-Version: 1.0
-Content-Type: TEXT/PLAIN; charset=US-ASCII
-Precedence: bulk
-Status: RO
-
-On Fri, 9 Oct 1998, Bruce Momjian wrote:
-
-> [Charset iso-8859-1 unsupported, filtering to ASCII...]
-> > > Yes, \ always outputs as \\, excepts someone changed it last week, and I
-> > > am requesting a reversal. Do you like the \N if it is unique?
-> >
-> > Well, it's certainly clear, but could be confused with \n (newline). Can we
-> > have \0 instead?
->
-> Yes, but it is uppercase. \0 looks like an octal number to me, and I
-> think we even output octals sometimes, don't we?
->
-
-my first suggestion may have been hare-brained, but why not just make the
-specifics of the output user-configurable. So if the user chooses \0, so
-be it, if the user chooses \N so be it, if the user likes NULL so be it.
-but the option would only have one value per database at any given point
-in time. so database x could use \N on tuesday and NULL on wednesday, but
-database x could never have two references to the characters(s) used to
-represent a null value.
-
-steve
-
-
-
-
- by candle.pha.pa.us (8.9.0/8.9.0) with ESMTP id RAA20043
- for ; Sun, 11 Oct 1998 17:31:02 -0400 (EDT)
-Received: from hub.org (
[email protected] [209.47.148.200]) by renoir.op.net (o1/$ Revision: 1.18 $) with ESMTP id RAA03069 for
; Sun, 11 Oct 1998 17:10:34 -0400 (EDT)
-Received: from localhost (majordom@localhost)
- by hub.org (8.8.8/8.8.8) with SMTP id QAA10856;
- Sun, 11 Oct 1998 16:57:34 -0400 (EDT)
-Received: by hub.org (TLB v0.10a (1.23 tibbs 1997/01/09 00:29:32)); Sun, 11 Oct 1998 16:53:35 +0000 (EDT)
-Received: (from majordom@localhost)
- by hub.org (8.8.8/8.8.8) id QAA10393
- for pgsql-general-outgoing; Sun, 11 Oct 1998 16:53:34 -0400 (EDT)
-X-Authentication-Warning: hub.org: majordom set sender to
[email protected] using -f
-Received: from mail1.panix.com (mail1.panix.com [166.84.0.212])
- by hub.org (8.8.8/8.8.8) with ESMTP id QAA10378
- for
; Sun, 11 Oct 1998 16:53:28 -0400 (EDT)
- by mail1.panix.com (8.8.8/8.8.8/PanixM1.3) with ESMTP id QAA16311
- for
; Sun, 11 Oct 1998 16:53:24 -0400 (EDT)
-Received: from admin.nrnet.org (uucp@localhost)
- by mailhost.nrnet.org (8.8.7/8.8.4) with UUCP
-Received: from localhost (tomg@localhost)
- by admin.nrnet.org (8.8.7/8.8.7) with SMTP id QAA11569
- for
; Sun, 11 Oct 1998 16:28:41 -0400
-Date: Sun, 11 Oct 1998 16:28:41 -0400 (EDT)
-From: Thomas Good
-Subject: Re: [GENERAL] Making NULLs visible.
-MIME-Version: 1.0
-Content-Type: TEXT/PLAIN; charset=US-ASCII
-Precedence: bulk
-Status: RO
-
-Watching all this go by...as a guy who has to move alot of data
-from legacy dbs to postgres, I've gotten used to \N being a null.
-
-My vote, if I were allowed to cast one, would be to have one null
-and that would be the COPY command null. I have no difficulty
-distinguishing a null from a newline...
-
-At the pgsql command prompt I would find seeing \N rather reassuring.
-I've seen alot of these little guys.
-
- ---------- Sisters of Charity Medical Center ----------
- Department of Psychiatry
- ----
- Thomas Good
- Coordinator, North Richmond C.M.H.C. Information Systems
- 75 Vanderbilt Ave, Quarters 8 Phone: 718-354-5528
- Staten Island, NY 10304 Fax: 718-354-5056
-
-
-
* 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 $
*
*/
#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"
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
{
"XactIsoLevel", parse_XactIsoLevel, show_XactIsoLevel, reset_XactIsoLevel
},
+ {
+ "pg_options", parse_pg_options, show_pg_options, reset_pg_options
+ },
{
NULL, NULL, NULL, NULL
}
"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 */
close(fd);
}
+void
+show_options(void)
+{
+ int i;
+
+ for (i=0; i
+ elog(NOTICE, "%s=%d", opt_names[i], pg_options[i]);
+ }
+}
+
/*
* Local variables:
* tab-width: 4
*
* Copyright (c) 1994, Regents of the University of California
*
- * $Id: psqlHelp.h,v 1.74 1999/09/23 17:11:16 momjian Exp $
+ * $Id: psqlHelp.h,v 1.75 1999/09/27 20:27:20 momjian Exp $
*
*-------------------------------------------------------------------------
*/
{"reset",
"set run-time environment back to default",
"\
-\tRESET DATESTYLE|COST_HEAP|COST_INDEX|GEQO|KSQO|\n\
+\tRESET DATESTYLE|COST_HEAP|COST_INDEX|GEQO|KSQO|PG_OPTIONS|\n\
TIMEZONE|XACTISOLEVEL|CLIENT_ENCODING|SERVER_ENCODING"},
{"revoke",
"revoke access control from a user or group",
\tSET COST_INDEX TO #\n\
\tSET GEQO TO 'ON[=#]'|'OFF'\n\
\tSET KSQO TO 'ON'|'OFF'\n\
+\tSET PG_OPTIONS TO 'value'\n\
\tSET TIMEZONE TO 'value'\n\
\tSET TRANSACTION ISOLATION LEVEL 'SERIALIZABLE'|'READ COMMITTED'\n\
\tSET CLIENT_ENCODING|NAMES TO 'EUC_JP'|'SJIS'|'EUC_CN'|'EUC_KR'|'EUC_TW'|\n\
{"show",
"show current run-time environment",
"\
-\tSHOW DATESTYLE|COST_HEAP|COST_INDEX|GEQO|KSQO|\n\
+\tSHOW DATESTYLE|COST_HEAP|COST_INDEX|GEQO|KSQO|PG_OPTIONS|\n\
TIMEZONE|XACTISOLEVEL|CLIENT_ENCODING|SERVER_ENCODING"},
{"unlisten",
"stop listening for notification on a condition name",
*
* Copyright (c) 1994, Regents of the University of California
*
- * $Id: miscadmin.h,v 1.41 1999/09/24 00:25:16 tgl Exp $
+ * $Id: miscadmin.h,v 1.42 1999/09/27 20:27:26 momjian Exp $
*
* NOTES
* some of the information in this file will be moved to
#ifndef MISCADMIN_H
#define MISCADMIN_H
+#include "utils/trace.h"
+
/*****************************************************************************
* globals.h -- *
*****************************************************************************/
extern char FloatFormat[];
extern char DateFormat[];
-extern bool disableFsync;
+#define disableFsync pg_options[OPT_NOFSYNC]
extern bool allowSystemTableMods;
extern int SortMem;
extern int tprintf(int flag, const char *fmt,...);
extern int eprintf(const char *fmt,...);
extern void write_syslog(int level, char *line);
+extern void show_options(void);
extern void parse_options(char *str, bool secure);
extern void read_pg_options(SIGNAL_ARGS);
TRACE_LOCKRELATION,
OPT_LOCKREADPRIORITY, /* lock priority, see lock.c */
OPT_DEADLOCKTIMEOUT, /* deadlock timeout, see proc.c */
+ OPT_NOFSYNC, /* turn fsync off */
OPT_SYSLOG, /* use syslog for error messages */
OPT_HOSTLOOKUP, /* enable hostname lookup in ps_status */
OPT_SHOWPORTNUMBER, /* show port number in ps_status */