pg.ddx.io pgsql-bugs@postgresql.org mailing list archive
help / color / mirror / Atom feed From: Yugo NAGATA <nagata@sraoss.co.jp>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Peter Eisentraut <peter.eisentraut@enterprisedb.com>
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: Thu, 10 Nov 2022 14:48:59 +0900
Message-ID: <20221110144859.d9004fdd47396fe64fe032da@sraoss.co.jp> (raw )
In-Reply-To: <3995893.1668011885@sss.pgh.pa.us >
References: <17434-d9f7a064ce2a88a3@postgresql.org >
<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 >
<65a899dd-aebc-f667-1d0a-abb89ff3abf8@enterprisedb.com >
<3995893.1668011885@sss.pgh.pa.us >
On Wed, 09 Nov 2022 11:38:05 -0500
Tom Lane <tgl@sss.pgh.pa.us> wrote:
> Peter Eisentraut <peter.eisentraut@enterprisedb.com> writes:
> > This has broken the following use:
>
> > parse: create temporary table t1 (a int) on commit drop
> > bind
> > execute
> > parse: analyze t1
> > bind
> > execute
> > parse: select * from t1
> > bind
> > execute
> > sync
>
> > I think the behavior of IsInTransactionBlock() needs to be further
> > refined to support this.
>
> Hmm. Maybe the right way to think about this is "if we have completed an
> EXECUTE, and not yet received a following SYNC, then report that we are in
> a transaction block"? But I'm not sure if that breaks any other cases.
Or, in that case, regarding it as an implicit transaction if multiple commands
are executed in a pipeline as proposed in [1] could be another solution,
although I have once withdrawn this for not breaking backward compatibility.
Attached is the same patch of [1].
[1] https://www.postgresql.org/message-id/20220728105134.d5ce51dd756b3149e9b9c52c%40sraoss.co.jp
Regards,
Yugo Nagata
--
Yugo NAGATA <nagata@sraoss.co.jp>
view thread (35+ messages) latest in thread
Message-ID: <20221110144859.d9004fdd47396fe64fe032da@sraoss.co.jp>
Permalink: ../20221110144859.d9004fdd47396fe64fe032da@sraoss.co.jp/
Also on: postgresql.org/message-id/20221110144859.d9004fdd47396fe64fe032da@sraoss.co.jp
copy link · copy postgr.es
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: nagata@sraoss.co.jp, tgl@sss.pgh.pa.us, peter.eisentraut@enterprisedb.com, 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: <20221110144859.d9004fdd47396fe64fe032da@sraoss.co.jp>
* 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