public inbox for [email protected]  
help / color / mirror / Atom feed
From: Daniele Varrazzo <[email protected]>
To: Karsten Hilbert <[email protected]>
Cc: Paolo De Stefani <[email protected]>
Cc: Psycopg <[email protected]>
Subject: Re: Re: psycopg3 transactions
Date: Thu, 21 Oct 2021 13:00:10 +0100
Message-ID: <CA+mi_8aK5UPGfBjxPYPkGKbHM+JWbqMAS5zCB7LECRDbRQrXHA@mail.gmail.com> (raw)
In-Reply-To: <trinity-b5bbbf6a-2f7d-4865-ad6b-3e846cf58399-1634814394835@3c-app-gmx-bap69>
References: <[email protected]>
	<CA+mi_8bXjHTrzDLQ+n_6K2MHVsr0J32X1HA28Ey9O+-Zm6JaeQ@mail.gmail.com>
	<[email protected]>
	<CA+mi_8afF2jMifiLSvL99+Ztupy1me7xDNAv0g47WxHWbwN9vw@mail.gmail.com>
	<[email protected]>
	<CA+mi_8ZJy5yHovbjBhevWLhm9b3RH67qD+_5Mk+trfb1-Z19jQ@mail.gmail.com>
	<CA+mi_8ZvfQ3ndZDrRFX1XCfMyGLhkp5ZVq4Y92iZe4nxtkw_Yw@mail.gmail.com>
	<YWtWyC/[email protected]>
	<CA+mi_8bY1HJrAVrUFsdDCqJT4+UjK7i7Lfso4dN_0nNf7RU4nQ@mail.gmail.com>
	<trinity-b5bbbf6a-2f7d-4865-ad6b-3e846cf58399-1634814394835@3c-app-gmx-bap69>

On Thu, 21 Oct 2021 at 12:06, Karsten Hilbert <[email protected]> wrote:
>
> > The behaviour of a dbapi connection, without context block, is to just close the communication. The fact that this results in a rollback > stems only from the behaviour of the server
>
> But that's the whole point?   A driver should _not_ (by default) alter the default
> behaviour of the other end, IMO, without extremely good reason. There _is_ good
> reason for the transaction context manager, but not for the connection context
> manager or plain use.

The implicit BEGIN is also a surprising change from the "natural
course of events". Psycopg can still be used as a driver and not alter
the natural course of events. I have extended the documentation
(https://www.psycopg.org/psycopg3/docs/basic/usage.html#connection-context)
both highlighting the difference in behaviour you reported and
suggesting to not use 'with' in case more control is needed (using
psycopg more as a driver than as the end user).


> > asking that the program to 'conn.commit()' explicitly seems an unrequested, kinda ritual, final blessing.
>
> Exactly.
>
> > Sending an explicit ROLLBACK is an occurrence much more rare,
>
> Exactly, and thusly easily forgotten, with possibly dire consequences
> (in the case of default-commit, as opposed to default-rollback).

On this I disagree. People forget to do things when they are a
repetitive common occurrence, not when they are extraordinary.

I don't really see a disaster occurring there, especially because
porting code from psycopg2 results in pretty much the same operations.


-- Daniele





view thread (28+ messages)  latest in thread

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: [email protected]
  Cc: [email protected], [email protected], [email protected]
  Subject: Re: Re: psycopg3 transactions
  In-Reply-To: <CA+mi_8aK5UPGfBjxPYPkGKbHM+JWbqMAS5zCB7LECRDbRQrXHA@mail.gmail.com>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox