Re: Information on savepoint requirement within transctions

From: "David G(dot) Johnston" <david(dot)g(dot)johnston(at)gmail(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Robert Zenz <robert(dot)zenz(at)sibvisions(dot)com>, "pgsql-general(at)postgresql(dot)org" <pgsql-general(at)postgresql(dot)org>
Subject: Re: Information on savepoint requirement within transctions
Date: 2018-01-29 15:46:06
Message-ID: CAKFQuwaZYdDU3MGvgESVvzGz81sEy9kvNmHevOEG3J3Bee6zZg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Mon, Jan 29, 2018 at 8:33 AM, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:

> What we do have though is client-side support for appropriate behaviors.
> In psql, see the AUTOCOMMIT and ON_ERROR_ROLLBACK control variables.
> Other interfaces such as JDBC have their own ideas about how this ought
> to work.
>

​Not quite the same. I think what people probably want is for psql to
recognize it is in a transaction and before sending a command to the server
for processing to precede it by sending "SAVEPOINT random()". Then, before
returning the result of the command to the user issue either "RELEASE
SAVEPOINT" or "ROLLBACK TO SAVEPOINT" depending on whether the command
succeeded or failed. Then report the result to the user.

Having a GUC to instruct the server to do that instead sounds appealing as
a user, or middle-ware writer, though I couldn't see doing it given today's
GUC mechanics for the same reason the AUTOCOMMIT GUC was removed.

David J.

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Matej 2018-01-29 15:49:19 Re: PG Sharding
Previous Message Seth Goldin 2018-01-29 15:45:19 Which specific flags to use for bash client applications for DaVinci Resolve?