pg.ddx.io  pgsql-docs@postgresql.org mailing list archive  
help / color / mirror / Atom feed
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






view thread (24+ messages)  latest in thread

Message-ID: <20200824153557.GK26781@momjian.us>
Permalink:  ../20200824153557.GK26781@momjian.us/
Also on:    postgresql.org/message-id/20200824153557.GK26781@momjian.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-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