Re: Error on failed COMMIT
От | Merlin Moncure |
---|---|
Тема | Re: Error on failed COMMIT |
Дата | |
Msg-id | CAHyXU0x4m+au4C0REYpX-X-5_=0YH3b9KUD4zUQhB-Dw1kLkNg@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: Error on failed COMMIT (Vladimir Sitnikov <sitnikov.vladimir@gmail.com>) |
Ответы |
Re: Error on failed COMMIT
Re: Error on failed COMMIT |
Список | pgsql-hackers |
On Mon, Feb 24, 2020 at 4:06 PM Vladimir Sitnikov <sitnikov.vladimir@gmail.com> wrote: > > Merlin>My biggest sense of alarm with the proposed change is that it could > Merlin>leave applications in a state where the transaction is hanging there > > How come? > The spec says commit ends the transaction. > Can you please clarify where the proposed change leaves a hanging transaction? > > Just in case, the proposed change is as follows: > > postgres=# begin; > BEGIN > postgres=# aslkdfasdf; > ERROR: syntax error at or near "aslkdfasdf" > LINE 1: aslkdfasdf; > ^ > postgres=# commit; > ROLLBACK <-- this should be replaced with "ERROR: can't commit the transaction because ..." > postgres=# commit; > WARNING: there is no transaction in progress <-- this should be as it is currently. Even if commit throws an error, thetransaction should be terminated. > COMMIT Ok, you're right; I missed the point in that it's not nearly as bad as I thought you were suggesting (to treat commit as bad statement) but the transaction would still terminate. Still, this is very sensitive stuff, do you think most common connection poolers would continue to work after making this change? merlin
В списке pgsql-hackers по дате отправления: