Re: BUG #17504: psql --single-transaction -vON_ERROR_STOP=1 still commits after client-side error - Mailing list pgsql-bugs

From Tom Lane
Subject Re: BUG #17504: psql --single-transaction -vON_ERROR_STOP=1 still commits after client-side error
Date
Msg-id 3791929.1655131936@sss.pgh.pa.us
Whole thread Raw
In response to Re: BUG #17504: psql --single-transaction -vON_ERROR_STOP=1 still commits after client-side error  (Kyotaro Horiguchi <horikyota.ntt@gmail.com>)
Responses Re: BUG #17504: psql --single-transaction -vON_ERROR_STOP=1 still commits after client-side error
List pgsql-bugs
Kyotaro Horiguchi <horikyota.ntt@gmail.com> writes:
> At Mon, 13 Jun 2022 15:45:05 +0900, Michael Paquier <michael@paquier.xyz> wrote in
>> This suggestion does not look right to me with --single-transaction.
>> If not using ON_ERROR_STOP, I think that we should still loop through
>> all the switches given by the caller and force a COMMIT all the time
>> because the intention is that we don't care about failures while
>> processing.  This gives me the attached as a result for HEAD, where we

> Agreed. It is actually a bug that on_error_stop is ignored here.

Sounds plausible to me too.

>> Now, do we really want to introduce this new behavior on HEAD?  We are
>> post-beta so this does not me make me really comfortable if both
>> Robert and you don't like the change, even if the behavior of
>> --single-transaction/ON_ERROR_STOP on client-side failure is weird to
>> me and others from upthread.

I think it's fine to commit this to HEAD.  The reason for reverting
in the back branches was exactly that we'd already changed the behavior;
and what we now see is that it's still buggy and we need to change it
some more.  That's an entirely appropriate thing to be doing in beta.

            regards, tom lane



pgsql-bugs by date:

Previous
From: Onur Tirtir
Date:
Subject: DELETE deletes more than one rows when LIMIT is used in the USING clause
Next
From: Tom Lane
Date:
Subject: Re: DELETE deletes more than one rows when LIMIT is used in the USING clause