summaryrefslogtreecommitdiff
path: root/doc/src
diff options
context:
space:
mode:
authorMichael Paquier2024-11-28 00:43:21 +0000
committerMichael Paquier2024-11-28 00:43:21 +0000
commit7668e85a4044d97e7d7e950310ca0b6467c0bd5d (patch)
tree0624a3a150b8cd2e30c2da4574357d2cfaf5ed54 /doc/src
parentc93dffd89ba58b1b22faae2d2a9ec95e536c6740 (diff)
Revert "Handle better implicit transaction state of pipeline mode"
This reverts commit d77f91214fb7 on all stable branches, due to concerns regarding the compatility side effects this could create in a minor release. The change still exists on HEAD. Discussion: https://postgr.es/m/CA+TgmoZqRgeFTg4+Yf_CMRRXiHuNz1u6ZC4FvVk+rxw0RmOPnw@mail.gmail.com Backpatch-through: 13
Diffstat (limited to 'doc/src')
-rw-r--r--doc/src/sgml/protocol.sgml21
1 files changed, 10 insertions, 11 deletions
diff --git a/doc/src/sgml/protocol.sgml b/doc/src/sgml/protocol.sgml
index b0fea8f5d5d..5a3d6fdb5a3 100644
--- a/doc/src/sgml/protocol.sgml
+++ b/doc/src/sgml/protocol.sgml
@@ -1070,17 +1070,16 @@ SELCT 1/0;<!-- this typo is intentional -->
<para>
If the client has not issued an explicit <command>BEGIN</command>,
- then an implicit transaction block is started and each Sync ordinarily
- causes an implicit <command>COMMIT</command> if the preceding step(s)
- succeeded, or an implicit <command>ROLLBACK</command> if they failed.
- This implicit transaction block will only be detected by the server
- when the first command ends without a sync. There are a few DDL
- commands (such as <command>CREATE DATABASE</command>) that cannot be
- executed inside a transaction block. If one of these is executed in a
- pipeline, it will fail unless it is the first command after a Sync.
- Furthermore, upon success it will force an immediate commit to preserve
- database consistency. Thus a Sync immediately following one of these
- commands has no effect except to respond with ReadyForQuery.
+ then each Sync ordinarily causes an implicit <command>COMMIT</command>
+ if the preceding step(s) succeeded, or an
+ implicit <command>ROLLBACK</command> if they failed. However, there
+ are a few DDL commands (such as <command>CREATE DATABASE</command>)
+ that cannot be executed inside a transaction block. If one of
+ these is executed in a pipeline, it will fail unless it is the first
+ command in the pipeline. Furthermore, upon success it will force an
+ immediate commit to preserve database consistency. Thus a Sync
+ immediately following one of these commands has no effect except to
+ respond with ReadyForQuery.
</para>
<para>