1
0
mirror of https://github.com/postgres/postgres.git synced 2025-09-02 04:21:28 +03:00

AUTOCOMMIT mode is now an available backend GUC variable; setting it

to false provides more SQL-spec-compliant behavior than we had before.
I am not sure that setting it false is actually a good idea yet; there
is a lot of client-side code that will probably be broken by turning
autocommit off.  But it's a start.

Loosely based on a patch by David Van Wie.
This commit is contained in:
Tom Lane
2002-08-30 22:18:07 +00:00
parent 549928d99b
commit 26993b2918
15 changed files with 126 additions and 53 deletions

View File

@@ -1,5 +1,5 @@
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/release.sgml,v 1.155 2002/08/30 00:28:40 tgl Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/release.sgml,v 1.156 2002/08/30 22:18:05 tgl Exp $
-->
<appendix id="release">
@@ -24,6 +24,7 @@ CDATA means the content is "SGML-free", so you can write without
worries about funny characters.
-->
<literallayout><![CDATA[
No-autocommit mode is available (set autocommit to off)
Substantial improvements in functionality for functions returning sets
Client libraries older than 6.3 no longer supported (version 0 protocol removed)
PREPARE statement allows caching query plans for interactive statements

View File

@@ -1,5 +1,5 @@
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/runtime.sgml,v 1.130 2002/08/30 16:50:49 momjian Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/runtime.sgml,v 1.131 2002/08/30 22:18:05 tgl Exp $
-->
<Chapter Id="runtime">
@@ -1135,6 +1135,29 @@ env PGOPTIONS='-c geqo=off' psql
<para>
<variablelist>
<varlistentry>
<term><varname>AUTOCOMMIT</varname> (<type>bool</type>)</term>
<indexterm><primary>autocommit</></>
<listitem>
<para>
If set to true, <productname>PostgreSQL</productname> will
automatically do a <command>COMMIT</> after each successful command
that is not inside an explicit transaction block (that is, unless a
<command>BEGIN</> with no matching <command>COMMIT</> has been
given).
If set to false, <productname>PostgreSQL</productname> will commit
the effects of commands only on receiving an explicit
<command>COMMIT</> command. This mode can also be thought of as
implicitly issuing <command>BEGIN</> whenever a command is received
and <productname>PostgreSQL</productname> is not already inside
a transaction block.
The default is true, for compatibility with historical
<productname>PostgreSQL</productname> behavior. But for maximum
compatibility with the SQL specification, set it to false.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><varname>AUSTRALIAN_TIMEZONES</varname> (<type>bool</type>)</term>
<indexterm><primary>Australian time zones</></>