From: Bruce Momjian <bruce@momjian.us>
To: Pavel Stehule <pavel.stehule@gmail.com>
Cc: David G. Johnston <david.g.johnston@gmail.com>
Cc: Robin Abbi <robin.abbi@downley.net>
Cc: Dave Cramer <davecramer@postgres.rocks>
Cc: Pg Docs <pgsql-docs@lists.postgresql.org>
Subject: Re: Procedures
Date: Mon, 24 Aug 2020 11:35:57 -0400
Message-ID: <20200824153557.GK26781@momjian.us> (raw)
In-Reply-To: <CAFj8pRAMRsC8r0bBsqRz_hiVH+TxOrTa0_0F+c5qBwbNis7=uQ@mail.gmail.com>
References: <20200806001758.GA29874@momjian.us>
<CADK3HH+cyx-aFnf8Tzra2qtBwD+e-k-cpnrjXhX9G9_-MKJj4A@mail.gmail.com>
<CAGmg_NX327KKVuJmbWZD=pGutYFxzZjX1rU+3ji8UuX=8ONn9Q@mail.gmail.com>
<20200806221052.GA23547@momjian.us>
<20200821225214.GJ13363@momjian.us>
<CAKFQuwaEnUAaF=rPhsLymWDsGg71CXAswVRNnhxV+h=3q+3pDg@mail.gmail.com>
<20200822171447.GF26781@momjian.us>
<CAKFQuwbbfW01BGT=X6buQySXMr08P98yhG-cja22_rPfravE2g@mail.gmail.com>
<20200824150056.GI26781@momjian.us>
<CAFj8pRAMRsC8r0bBsqRz_hiVH+TxOrTa0_0F+c5qBwbNis7=uQ@mail.gmail.com>
On Mon, Aug 24, 2020 at 05:24:19PM +0200, Pavel Stehule wrote:
>
>
> po 24. 8. 2020 v 17:01 odesílatel Bruce Momjian <bruce@momjian.us> napsal:
>
> On Sat, Aug 22, 2020 at 01:21:43PM -0700, David G. Johnston wrote:
> > On Sat, Aug 22, 2020 at 10:14 AM Bruce Momjian <bruce@momjian.us> wrote:
> >
> > On Fri, Aug 21, 2020 at 07:42:35PM -0700, David G. Johnston wrote:
> >
> > > [...] the CALL command. If the CALL command is not part of an
> explicit
> > > transaction a procedure can also manage multiple transactions
> during its
> > > execution.
> >
> > OK, how is this updated patch?
> >
> >
> > Looks good. I felt "begin and commit" was a bit wordy but it works.
>
> So, I was worried that "manage multiple transactions" could imply
> something like savepoints, which can be managed by functions. It is
> really the top-level begin/commit that is unique for procedures.
>
> Functions is executed under outer transaction every time - rollback to save
> point hasn't impact on outer transaction. Inside procedures (in special case)
> can be transactions ended (by statements COMMIT or ROLLBACK). Immediately is
> started new transaction.
Well, savepoints control what commands are considered _part_ of the
outer transaction, so in a way you are managing what is in the outer
transaction. This is why begin/commit was clearer for me. Maybe "start
and commit" is clearer?
--
Bruce Momjian <bruce@momjian.us> https://momjian.us
EnterpriseDB https://enterprisedb.com
The usefulness of a cup is in its emptiness, Bruce Lee
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-docs@postgresql.org
Cc: bruce@momjian.us, pavel.stehule@gmail.com, david.g.johnston@gmail.com, robin.abbi@downley.net, davecramer@postgres.rocks, pgsql-docs@lists.postgresql.org
Subject: Re: Procedures
In-Reply-To: <20200824153557.GK26781@momjian.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