pg.ddx.io  pgsql-bugs@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Yugo NAGATA <nagata@sraoss.co.jp>
Cc: pgsql-hackers@postgresql.org, "David G. Johnston" <david.g.johnston@gmail.com>
Cc: Bruce Momjian <bruce@momjian.us>
Subject: Re: BUG #17434: CREATE/DROP DATABASE can be executed in the same transaction with other commands
Date: Sun, 06 Nov 2022 12:54:17 -0500
Message-ID: <3032689.1667757257@sss.pgh.pa.us> (raw)
In-Reply-To: <20220930102342.852ad903b9c0418048c07fe5@sraoss.co.jp>
References: <17434-d9f7a064ce2a88a3@postgresql.org>
	<YtCrjN0HLew0w4Ss@momjian.us>
	<3190751.1657845414@sss.pgh.pa.us>
	<CAKFQuwbY_vJWcvJLUz2r+zzwwhkJbjzjojfGx=Mvd9TZ0TTKew@mail.gmail.com>
	<3498921.1657919211@sss.pgh.pa.us>
	<CAKFQuwa9JQgKgg3Djrx=7p1Phhj68QEq0TWYG72Xv-nPz61r0w@mail.gmail.com>
	<805866.1658175624@sss.pgh.pa.us>
	<CAKFQuwYQpm6E4nTgiOZAGRg0JKquHaXQ0JkqruWeHuOQX6-70g@mail.gmail.com>
	<2350990.1658848101@sss.pgh.pa.us>
	<CAKFQuwYRYhF8iOD9MHp7VuZur_JvVEjDzpMHuUHNeYReB5v2Sw@mail.gmail.com>
	<2356216.1658849834@sss.pgh.pa.us>
	<CAKFQuwYxPhPVMGJ-uoV7rq291xAU3dwww2fWwMuaz6EPiruJ5g@mail.gmail.com>
	<2361330.1658851386@sss.pgh.pa.us>
	<CAKFQuwYaN+SJyHcXyjAwZ7zRCze+6Xj7ns_hOEg2+fhZEJUOHg@mail.gmail.com>
	<2363212.1658852059@sss.pgh.pa.us>
	<20220728105134.d5ce51dd756b3149e9b9c52c@sraoss.co.jp>
	<3214515.1658976655@sss.pgh.pa.us>
	<20220809002102.b815cd4dad20fdc91dff5ce8@sraoss.co.jp>
	<20220930102342.852ad903b9c0418048c07fe5@sraoss.co.jp>

Yugo NAGATA <nagata@sraoss.co.jp> writes:
>> The attached patch tries to add comments explaining it on the functions.

> I forward it to the hackers list because the patch is to fix comments.

What do you think of the attached wording?

I don't think the pipeline angle is of concern to anyone who might be
reading these comments with the aim of understanding what guarantees
they have.  Perhaps there should be more about that in the user-facing
docs, though.

			regards, tom lane

Attachments:

  [text/x-diff] comments_on_PreventInTransactionBlock-2.patch (1.2K, ../3032689.1667757257@sss.pgh.pa.us/2-comments_on_PreventInTransactionBlock-2.patch)
  download | inline diff:
diff --git a/src/backend/access/transam/xact.c b/src/backend/access/transam/xact.c
index 883d6c0f70..8086b857b9 100644
--- a/src/backend/access/transam/xact.c
+++ b/src/backend/access/transam/xact.c
@@ -3448,6 +3448,10 @@ AbortCurrentTransaction(void)
  *	a transaction block, typically because they have non-rollback-able
  *	side effects or do internal commits.
  *
+ *	If this routine completes successfully, then the calling statement is
+ *	guaranteed that if it completes without error, its results will be
+ *	committed immediately.
+ *
  *	If we have already started a transaction block, issue an error; also issue
  *	an error if we appear to be running inside a user-defined function (which
  *	could issue more commands and possibly cause a failure after the statement
@@ -3573,6 +3577,10 @@ CheckTransactionBlock(bool isTopLevel, bool throwError, const char *stmtType)
  *	a transaction block than when running as single commands.  ANALYZE is
  *	currently the only example.
  *
+ *	If this routine returns "false", then the calling statement is
+ *	guaranteed that if it completes without error, its results will be
+ *	committed immediately.
+ *
  *	isTopLevel: passed down from ProcessUtility to determine whether we are
  *	inside a function.
  */

view thread (35+ messages)  latest in thread

Message-ID: <3032689.1667757257@sss.pgh.pa.us>
Permalink:  ../3032689.1667757257@sss.pgh.pa.us/
Also on:    postgresql.org/message-id/3032689.1667757257@sss.pgh.pa.us

 ·  · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-bugs@postgresql.org
  Cc: tgl@sss.pgh.pa.us, nagata@sraoss.co.jp, david.g.johnston@gmail.com, bruce@momjian.us
  Subject: Re: BUG #17434: CREATE/DROP DATABASE can be executed in the same transaction with other commands
  In-Reply-To: <3032689.1667757257@sss.pgh.pa.us>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox