Re: New docs chapter on Transaction Management and related changes - Mailing list pgsql-hackers

From Laurenz Albe
Subject Re: New docs chapter on Transaction Management and related changes
Date
Msg-id bf0baafb080e933f2f07266c4ad1230b98b7ee5d.camel@cybertec.at
Whole thread Raw
In response to Re: New docs chapter on Transaction Management and related changes  (Alvaro Herrera <alvherre@alvh.no-ip.org>)
Responses Re: New docs chapter on Transaction Management and related changes
List pgsql-hackers
On Thu, 2022-11-10 at 12:17 +0100, Alvaro Herrera wrote:
> On 2022-Nov-10, Laurenz Albe wrote:
> > On Wed, 2022-11-09 at 09:16 -0500, Robert Treat wrote:
> > > > > -      If <literal>AND CHAIN</literal> is specified, a new transaction is
> > > > > +      If <literal>AND CHAIN</literal> is specified, a new unaborted transaction is
> > > > >        immediately started with the same transaction characteristics (see <xref
> > > > >        linkend="sql-set-transaction"/>) as the just finished one.  Otherwise,
> > > > >        no new transaction is started.
> > 
> > A new transaction is never aborted in my understanding.  Being aborted
> > is not a characteristic of a transaction, but a state.
> 
> I agree, but maybe it's good to make the point explicit, because it
> doesn't seem obvious.  Perhaps something like
> 
> "If X is specified, a new transaction (never in aborted state) is
> immediately started with the same transaction characteristics (see X) as
> the just finished one.  Otherwise ..."
> 
> Getting the wording of that parenthical comment right is tricky, though.
> What I propose above is not great, but I don't know how to make it
> better.  Other ideas that seem slightly worse but may inspire someone:
> 
>   ... a new transaction (which is never in aborted state) is ...
>   ... a new transaction (not in aborted state) is ...
>   ... a new transaction (never aborted, even if the previous is) is ...
>   ... a new (not-aborted) transaction is ...
>   ... a new (never aborted) transaction is ...
>   ... a new (never aborted, even if the previous is) transaction is ...
>   ... a new (never aborted, regardless of the status of the previous one) transaction is ...
> 
> 
> Maybe there's a way to reword the entire phrase that leads to a better
> formulation of the idea.

Any of your auggestions is better than "unaborted".

How about:

  If <literal>AND CHAIN</literal> is specified, a new transaction is
  immediately started with the same transaction characteristics (see <xref
  linkend="sql-set-transaction"/>) as the just finished one.
  This new transaction won't be in the <quote>aborted</quote> state, even
  if the old transaction was aborted.

Yours,
Laurenz Albe



pgsql-hackers by date:

Previous
From: Peter Eisentraut
Date:
Subject: Re: libpq error message refactoring
Next
From: Peter Eisentraut
Date:
Subject: Re: Making Bitmapsets be valid Nodes