Re: Error on failed COMMIT

From: Bruce Momjian <bruce(at)momjian(dot)us>
To: Dave Cramer <davecramer(at)postgres(dot)rocks>
Cc: Robert Haas <robertmhaas(at)gmail(dot)com>, Vik Fearing <vik(at)postgresfriends(dot)org>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Laurenz Albe <laurenz(dot)albe(at)cybertec(dot)at>, Vladimir Sitnikov <sitnikov(dot)vladimir(at)gmail(dot)com>, Shay Rojansky <roji(at)roji(dot)org>, "Haumacher, Bernhard" <haui(at)haumacher(dot)de>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: Error on failed COMMIT
Date: 2020-03-17 23:23:30
Message-ID: 20200317232330.GC17915@momjian.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Tue, Mar 17, 2020 at 07:15:05PM -0400, Dave Cramer wrote:
> On Tue, 17 Mar 2020 at 16:47, Bruce Momjian <bruce(at)momjian(dot)us> wrote:
> Third, the idea that individual interfaces, e.g. JDBC, should throw an
> error in this case while the server just changes the COMMIT return tag
> to ROLLBACK is confusing.  People regularly test SQL commands in the
> server before writing applications or while debugging, and a behavior
> mismatch would cause confusion.
>
>
> I'm not sure what you mean by this. The server would throw an error. 

I am saying it is not wise to have interfaces behaving differently than
the server, for the reasons stated above.

> Fourth, it is not clear how many applications would break if COMMIT
> started issuing an error rather than return success a with ROLLBACK tag.
> Certainly SQL scripts would be fine.  They would have one additional
> error in the script output, but if they had ON_ERROR_STOP enabled, they
> would have existed before the commit.  Applications that track statement
> errors and issue rollbacks will be fine.  So, we are left with
> applications that issue COMMIT and expect success after a transaction
> block has failed.  Do we know how other database systems handle this?
>
> Well I know pgjdbc handles my patch fine without any changes to the code
> As I mentioned upthread 2 of the 3 go drivers already error if rollback is
> returned. 1 of them does not.

Good point.

--
Bruce Momjian <bruce(at)momjian(dot)us> https://momjian.us
EnterpriseDB https://enterprisedb.com

+ As you are, so once was I. As I am, so you will be. +
+ Ancient Roman grave inscription +

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Dave Cramer 2020-03-17 23:32:00 Re: Error on failed COMMIT
Previous Message Dave Cramer 2020-03-17 23:15:05 Re: Error on failed COMMIT