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

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Kyotaro Horiguchi <horikyota(dot)ntt(at)gmail(dot)com>
Cc: michael(at)paquier(dot)xyz, robertmhaas(at)gmail(dot)com, christoph(dot)berg(at)credativ(dot)de, pgsql-bugs(at)lists(dot)postgresql(dot)org
Subject: Re: BUG #17504: psql --single-transaction -vON_ERROR_STOP=1 still commits after client-side error
Date: 2022-06-13 14:52:16
Message-ID: 3791929.1655131936@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

Kyotaro Horiguchi <horikyota(dot)ntt(at)gmail(dot)com> writes:
> At Mon, 13 Jun 2022 15:45:05 +0900, Michael Paquier <michael(at)paquier(dot)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

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Tom Lane 2022-06-13 14:54:20 Re: Using PQexecQuery in pipeline mode produces unexpected Close messages
Previous Message Onur Tirtir 2022-06-13 14:13:16 DELETE deletes more than one rows when LIMIT is used in the USING clause