psycopg2 positioning of .commit() (Posting On Python-List Prohibited)

Jon Ribbens jon+usenet at unequivocal.eu
Tue Sep 10 04:38:30 EDT 2024


On 2024-09-09, Lawrence D'Oliveiro <ldo at nz.invalid> wrote:
> On Mon, 9 Sep 2024 21:12:51 -0000 (UTC), Jon Ribbens wrote:
>> On 2024-09-09, Lawrence D'Oliveiro <ldo at nz.invalid> wrote:
>>> On Mon, 9 Sep 2024 10:00:11 -0000 (UTC), Jon Ribbens wrote:
>>>> On 2024-09-09, Lawrence D'Oliveiro <ldo at nz.invalid> wrote:
>>>>> The database only needs to commit when it is explicitly told.
>>>>> Anything less -- no commit.
>>>> 
>>>> So the Python code is half-way through a transaction when it throws a
>>>> (non-database-related) exception and that thread of execution is
>>>> aborted. The database connection returns to the pool ...
>>>
>>> The DBMS connection is deleted.
>> 
>> How does that happen then?
>
> You write code to do it.

Ok. So we've moved away from "In any DBMS worth its salt, rollback is
something that happens automatically" and now you're saying it isn't
automatic after all, "you write code to do it". That was my point.
The database provides the tools, but it isn't psychic.


More information about the Python-list mailing list