diff --git a/doc/src/sgml/ref/set.sgml b/doc/src/sgml/ref/set.sgml
index 12c9e47fcc56a964139e9efb87b10561a3631ac4..f4e7374e11e06928dbdeff769ce5127a6fff0c2a 100644
--- a/doc/src/sgml/ref/set.sgml
+++ b/doc/src/sgml/ref/set.sgml
@@ -526,7 +526,49 @@ SET TIME ZONE { 'timezone' | LOCAL
+
+
+
+
+ XACTISOLEVEL
+
+
+
+ Sets the isolation level for transactions.
+
+
+
+
+ value
+
+
+
+ Sets the isolation level for transactions to
+ 'SERIALIZABLE' or 'COMMITTED'.
+
+
+
+
+
+
+ DEFAULT
+
+
+
+ Sets the cost of a heap scan to the default value.
+
+
+
+
+
+
+ The frontend may be initialized by setting the PGCOSTHEAP
+ environment variable.
+
+
+
+
diff --git a/src/bin/psql/psqlHelp.h b/src/bin/psql/psqlHelp.h
index 8e7dac94772851fd146c5c7632ba508de5ee096c..6f37421340ef4c739f036d57c06481798b09d6c8 100644
--- a/src/bin/psql/psqlHelp.h
+++ b/src/bin/psql/psqlHelp.h
@@ -5,7 +5,7 @@
*
* Copyright (c) 1994, Regents of the University of California
*
- * $Id: psqlHelp.h,v 1.63 1999/04/18 03:01:49 tgl Exp $
+ * $Id: psqlHelp.h,v 1.64 1999/06/03 18:18:42 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -294,13 +294,9 @@ static struct _helpStruct QL_HELP[] = {
\tNOTIFY name|\"non-name string\""},
{"reset",
"set run-time environment back to default",
-#ifdef MULTIBYTE
"\
-\tRESET DateStyle|GEQO|R_PLANS|QUERY_LIMIT|CLIENT_ENCODING"},
-#else
- "\
-\tRESET DateStyle|GEQO|R_PLANS|QUERY_LIMIT"},
-#endif
+\tRESET DATESTYLE|COST_HEAP|COST_INDEX|GEQO|KSQO|QUERY_LIMIT|\n\
+TIMEZONE|XACTISOLEVEL|CLIENT_ENCODING|SERVER_ENCODING"},
{"revoke",
"revoke access control from a user or group",
"\
@@ -324,29 +320,22 @@ static struct _helpStruct QL_HELP[] = {
\t[ { UNION [ALL] | INTERSECT | EXCEPT } SELECT ...];"},
{"set",
"set run-time environment",
-#ifdef MULTIBYTE
"\
-\tSET DateStyle TO 'ISO'|'SQL'|'Postgres'|'European'|'US'|'NonEuropean'\n\
+\tSET DATESTYLE TO 'ISO'|'SQL'|'Postgres'|'European'|'US'|'NonEuropean'\n\
+set COST_HEAP TO #\n\
+set COST_INDEX TO #\n\
set GEQO TO 'ON[=#]'|'OFF'\n\
-set R_PLANS TO 'ON'|'OFF'\n\
+set KSQO TO 'ON'|'OFF'\n\
set QUERY_LIMIT TO #\n\
-set CLIENT_ENCODING TO 'EUC_JP'|'SJIS'|'EUC_CN'|'EUC_KR'|'EUC_TW'|'BIG5'|'MULE_INTERNAL'|'LATIN1'|'LATIN2'|'LATIN3'|'LATIN4'|'LATIN5'|'KOI8|'WIN'|'ALT'"},
-#else
- "\
-\tSET DateStyle TO 'ISO'|'SQL'|'Postgres'|'European'|'US'|'NonEuropean'\n\
-set GEQO TO 'ON[=#]'|'OFF'\n\
-set R_PLANS TO 'ON'| 'OFF'\n\
-set QUERY_LIMIT TO #"},
-#endif
+set TIMEZONE TO 'value'\n\
+set XACTISOLEVEL TO 'SERIALIZABLE'|'COMMITTED'\n\
+set CLIENT_ENCODING TO 'EUC_JP'|'SJIS'|'EUC_CN'|'EUC_KR'|'EUC_TW'|'BIG5'|'MULE_INTERNAL'|'LATIN1'|'LATIN2'|'LATIN3'|'LATIN4'|'LATIN5'|'KOI8|'WIN'|'ALT'\n\
+set SERVER_ENCODING TO 'EUC_JP'|'SJIS'|'EUC_CN'|'EUC_KR'|'EUC_TW'|'BIG5'|'MULE_INTERNAL'|'LATIN1'|'LATIN2'|'LATIN3'|'LATIN4'|'LATIN5'|'KOI8|'WIN'|'ALT'"},
{"show",
"show current run-time environment",
-#ifdef MULTIBYTE
- "\
-\tSHOW DateStyle|GEQO|R_PLANS|QUERY_LIMIT|CLIENT_ENCODING"},
-#else
"\
-\tSHOW DateStyle|GEQO|R_PLANS|QUERY_LIMIT"},
-#endif
+\tSHOW DATESTYLE|COST_HEAP|COST_INDEX|GEQO|KSQO|QUERY_LIMIT|\n\
+TIMEZONE|XACTISOLEVEL|CLIENT_ENCODING|SERVER_ENCODING"},
{"unlisten",
"stop listening for notification on a condition name",
"\
diff --git a/src/man/set.l b/src/man/set.l
index 38e644faa33e835c2b50710d3d71af02263cfdc5..8a3e060797bd3052cd01a136218742cb613752b5 100644
--- a/src/man/set.l
+++ b/src/man/set.l
@@ -1,6 +1,6 @@
.\" This is -*-nroff-*-
.\" XXX standard disclaimer belongs here....
-.\" $Header: /cvsroot/pgsql/src/man/Attic/set.l,v 1.16 1999/03/07 12:00:40 momjian Exp $
+.\" $Header: /cvsroot/pgsql/src/man/Attic/set.l,v 1.17 1999/06/03 18:18:43 momjian Exp $
.TH SET SQL 05/14/97 PostgreSQL PostgreSQL
.SH NAME
set - set run-time parameters for session
@@ -22,7 +22,7 @@ Parameters and values are case-insensitive.
Note that the value field is always specified as a string, so
is enclosed in single-quotes.
.PP
-.IR DateStyle
+.IR DATESTYLE
determines the output format for the date and time data types.
.ce 1
@@ -40,6 +40,13 @@ determines the output format for the date and time data types.
US - same as 'NonEuropean'
default - restores the default values ('US,Postgres')
.fi
+
+.PP
+.IR COST_HEAP
+sets the cost uses for heap scans by the optimizer.
+.PP
+.IR COST_INDEX
+sets the cost uses for index scans by the optimizer.
.PP
.IR GEQO
enables or disables the genetic optimizer algorithm. This algorithm is
@@ -61,9 +68,32 @@ for more information.
off - do not use the genetic optimizer
.fi
.PP
+.IR KSQO
+enables or disables a workaround for memory exhaustion in queries with many
+.B OR
+clauses.
+The default is disabled.
+.PP
.IR QUERY_LIMIT
restricts the number of rows returned by a query.
The default is unlimited.
+.PP
+.IR TIMEZONE
+sets your timezone.
+.PP
+.IR XACTISOLEVEL
+sets the transaction isolation level to
+.IR SERIALIZABLE
+or
+.IR COMMITTED .
+.PP
+.IR CLIENT_ENCODING
+sets the character set encoding of the client. Only available if multi-byte
+is enabled at configure time.
+.PP
+.IR SERVER_ENCODING
+sets the character set encoding of the server. Only available if multi-byte
+is enabled at configure time.
.SH EXAMPLES
@@ -94,5 +124,3 @@ set GEQO to 'off'
.SH "SEE ALSO"
reset(l),
show(l).
-.SH BUGS
-Of course.