On Mon, Jun 6, 2022 at 2:11 AM Kyotaro Horiguchi <horikyota.ntt@gmail.com> wrote: > > >> It causes psql to issue a BEGIN command before the first such option > > >> and a COMMIT command after the last one, thereby wrapping all the > > >> commands into a single transaction. > > >> If any of the commands fails, a ROLLBACK command is sent instead. > > >> This ensures that either all the commands complete successfully, or > > >> no changes are applied. > > > > Looks fine to me, so applied down to 10. > > (Yes!)
I am slightly concerned that this behavior change could break somebody's stuff when they upgrade to the next minor release. It does not seem impossible that someone could be knowingly relying on the old behavior.
We've done worse when dealing with obvious bugs contrary to the documentation and that prevent unsafe behavior. People relying on the defined behavior to safely fail when encountering unexpected failure producing situations that hopefully never happen get the priority over poorly written code that somehow relies on errors not respecting the single transaction promise.