mirror of
https://github.com/postgres/postgres.git
synced 2025-08-30 06:01:21 +03:00
Arrange for SET LOCAL's effects to persist until the end of the current top
transaction, unless rolled back or overridden by a SET clause for the same variable attached to a surrounding function call. Per discussion, these seem the best semantics. Note that this is an INCOMPATIBLE CHANGE: in 8.0 through 8.2, SET LOCAL's effects disappeared at subtransaction commit (leading to behavior that made little sense at the SQL level). I took advantage of the opportunity to rewrite and simplify the GUC variable save/restore logic a little bit. The old idea of a "tentative" value is gone; it was a hangover from before we had a stack. Also, we no longer need a stack entry for every nesting level, but only for those in which a variable's value actually changed.
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
<!--
|
||||
$PostgreSQL: pgsql/doc/src/sgml/ref/reset.sgml,v 1.35 2007/04/26 16:13:09 neilc Exp $
|
||||
$PostgreSQL: pgsql/doc/src/sgml/ref/reset.sgml,v 1.36 2007/09/11 00:06:41 tgl Exp $
|
||||
PostgreSQL documentation
|
||||
-->
|
||||
|
||||
@@ -44,13 +44,16 @@ SET <replaceable class="parameter">configuration_parameter</replaceable> TO DEFA
|
||||
have had, if no <command>SET</> had ever been issued for it in the
|
||||
current session. The actual source of this value might be a
|
||||
compiled-in default, the configuration file, command-line options,
|
||||
or per-database or per-user default settings. See <xref
|
||||
linkend="runtime-config"> for details.
|
||||
or per-database or per-user default settings. This is subtly different
|
||||
from defining it as <quote>the value that the parameter had at session
|
||||
start</>, because if the value came from the configuration file, it
|
||||
will be reset to whatever is specified by the configuration file now.
|
||||
See <xref linkend="runtime-config"> for details.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
See the <command>SET</> reference page for details on the
|
||||
transaction behavior of <command>RESET</>.
|
||||
The transactional behavior of <command>RESET</> is the same as
|
||||
<command>SET</>: its effects will be undone by transaction rollback.
|
||||
</para>
|
||||
</refsect1>
|
||||
|
||||
@@ -62,8 +65,9 @@ SET <replaceable class="parameter">configuration_parameter</replaceable> TO DEFA
|
||||
<term><replaceable class="PARAMETER">configuration_parameter</replaceable></term>
|
||||
<listitem>
|
||||
<para>
|
||||
The name of a run-time parameter. See <xref linkend="sql-set"
|
||||
endterm="sql-set-title"> for a list.
|
||||
Name of a settable run-time parameter. Available parameters are
|
||||
documented in <xref linkend="runtime-config"> and on the
|
||||
<xref linkend="sql-set" endterm="sql-set-title"> reference page.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
@@ -83,9 +87,9 @@ SET <replaceable class="parameter">configuration_parameter</replaceable> TO DEFA
|
||||
<title>Examples</title>
|
||||
|
||||
<para>
|
||||
Set the <varname>geqo</> configuration variable to its default value:
|
||||
Set the <varname>timezone</> configuration variable to its default value:
|
||||
<screen>
|
||||
RESET geqo;
|
||||
RESET timezone;
|
||||
</screen>
|
||||
</para>
|
||||
</refsect1>
|
||||
@@ -97,4 +101,13 @@ RESET geqo;
|
||||
<command>RESET</command> is a <productname>PostgreSQL</productname> extension.
|
||||
</para>
|
||||
</refsect1>
|
||||
|
||||
<refsect1>
|
||||
<title>See Also</title>
|
||||
|
||||
<simplelist type="inline">
|
||||
<member><xref linkend="SQL-SET" endterm="SQL-SET-title"></member>
|
||||
<member><xref linkend="SQL-SHOW" endterm="SQL-SHOW-title"></member>
|
||||
</simplelist>
|
||||
</refsect1>
|
||||
</refentry>
|
||||
|
Reference in New Issue
Block a user