Re: psycopg3 transactions

Поиск
Список
Период
Сортировка
От Magnus Hagander
Тема Re: psycopg3 transactions
Дата
Msg-id CABUevExE-Ts9C4XECW4USwxMGtte93dezA+0S9akYszHd75guA@mail.gmail.com
обсуждение исходный текст
Ответ на Re: psycopg3 transactions  (Karsten Hilbert <Karsten.Hilbert@gmx.net>)
Список psycopg
On Sun, Oct 17, 2021 at 12:59 AM Karsten Hilbert <Karsten.Hilbert@gmx.net> wrote:
Am Sun, Oct 17, 2021 at 12:48:40AM +0200 schrieb Karsten Hilbert:

> > https://www.psycopg.org/psycopg3/docs/basic/transactions.html
>
> I am sorry to say this but this concept:
>
>       This way we don’t have to remember to call neither
>       close() nor commit() and the database operation have
>       actually a persistent effect.
>
> seems fundamentally flawed to me in terms of databases.
> Actually changing the content of a database should be a
> conscious decision by program(mer) logic.

I could, perhaps, agree with the *transaction* context
manager being default-commit because:

        - after the context block the transaction has gone away

        - hence what happens inside either failed (auto-rollback)

        - or is to be committed

Not so for the *connection* context manager.

Just to chime in here as well, but this is pretty much what I was trying to say in the thread on Twitter (before I realized I was on this list and should've replied here). I have no problem with the transaction context manager working like that, but for the "connectoin" one it's very strange and it's dangerous in that it behaves differently when it's used as a context manager and when it's not.

--

В списке psycopg по дате отправления:

Предыдущее
От: Karsten Hilbert
Дата:
Сообщение: Re: psycopg3 transactions
Следующее
От: Daniele Varrazzo
Дата:
Сообщение: Re: psycopg3 transactions