From d015dcbe4eeaebe6084983945ef68a642c38e0e1 Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Wed, 9 Oct 2002 04:59:38 +0000 Subject: Have SET not start transaction when autocommit off, with doc updates. --- doc/src/sgml/ref/reset.sgml | 8 +++++++- doc/src/sgml/ref/set.sgml | 8 +++++++- doc/src/sgml/runtime.sgml | 38 +++++++++++++++++++++++++++----------- 3 files changed, 41 insertions(+), 13 deletions(-) (limited to 'doc/src') diff --git a/doc/src/sgml/ref/reset.sgml b/doc/src/sgml/ref/reset.sgml index 1af55703cd3..a21aa0239fb 100644 --- a/doc/src/sgml/ref/reset.sgml +++ b/doc/src/sgml/ref/reset.sgml @@ -1,5 +1,5 @@ @@ -66,6 +66,12 @@ SET variable TO DEFAULT switches, or per-database or per-user default settings. See the Administrator's Guide for details. + + + See the SHOW manual page for details on the transaction + behavior of RESET. + + diff --git a/doc/src/sgml/ref/set.sgml b/doc/src/sgml/ref/set.sgml index bc3688a5652..1c9bd31e1e9 100644 --- a/doc/src/sgml/ref/set.sgml +++ b/doc/src/sgml/ref/set.sgml @@ -1,5 +1,5 @@ @@ -108,6 +108,12 @@ SET [ SESSION | LOCAL ] TIME ZONE { timezoneSET value will take effect. + + With autocommit set to off, SET + does not start a new transaction block. See the + autocommit section of the documentation for details. + + Here are additional details about a few of the parameters that can be set: diff --git a/doc/src/sgml/runtime.sgml b/doc/src/sgml/runtime.sgml index a7215c89ce0..2936e9b4c70 100644 --- a/doc/src/sgml/runtime.sgml +++ b/doc/src/sgml/runtime.sgml @@ -1,5 +1,5 @@ @@ -1235,16 +1235,32 @@ env PGOPTIONS='-c geqo=off' psql that is not inside an explicit transaction block (that is, unless a BEGIN with no matching COMMIT has been given). - If set to false, PostgreSQL will commit - the effects of commands only on receiving an explicit - COMMIT command. This mode can also be thought of as - implicitly issuing BEGIN whenever a command is received - and PostgreSQL is not already inside - a transaction block. - The default is true, for compatibility with historical - PostgreSQL behavior. But for maximum - compatibility with the SQL specification, set it to false. - + If set to false, PostgreSQL will + commit the commands only when receiving an explicit + COMMIT command. This mode can also be thought of as + implicitly issuing BEGIN whenever a command is + received that is not already inside a transaction block. The + default is true, for compatibility with historical + PostgreSQL behavior. However, for + maximum compatibility with the SQL specification, set it to + false. + + + + With autocommit set to false, SET, + SHOW, and RESET do not start new + transaction blocks. They are run in their own transactions. + Once another command is issued, multi-statement transaction + behavior begins and any SET, SHOW, or + RESET commands are considered to be part of the + transaction, i.e. they are committed or rolled back depending + on the completion status of the transaction. To have + SET, SHOW, and RESET + commands at the start of a transaction, use BEGIN + first. + + + -- cgit v1.2.3