Skip site navigation (1) Skip section navigation (2)

Re: autocommit and Django

From: Federico Di Gregorio <federico(dot)digregorio(at)dndg(dot)it>
To: psycopg(at)postgresql(dot)org
Subject: Re: autocommit and Django
Date: 2011-06-14 10:02:26
Message-ID: (view raw, whole thread or download thread mbox)
Lists: psycopg
On 14/06/11 11:42, Daniele Varrazzo wrote:
> the connection.autocommit feature has created the problem shown here:
> I've taken a look and they have a set_autocommit method
> <>
> implemented in a painful way: instead of being driver-specific they
> just invoke some random method on the connection, and the thing is
> compounds with the fact they *don't even know* there is a transaction
> somehow already open. As per discussion
> <>,
> psycopg's set_session gives an error if invoked in a transaction.
> Now, I would love to argue that Django's set_autocommit is written
> with the wrong anatomical part, the bug is theirs and it's all their
> problem. However, knowing the painful process they use to fix a bug I
> wouldn't be surprised it would take months (see how they handled the
> idle in transaction mess) and this would only be a problem for django,
> postgres and psycopg users, as 2.4.2 is the version installed by
> default by easy_install and friends. So I'm positive to change the
> semantics of set_session/autocommit and issue an implicit rollback if
> in transaction instead of raising an exception, as set_isolation_level
> does.
> Thoughts?

Yes, it is wrong. set_isolation_level() was wrong from the start but we
had to keep it that way to avoid breaking compatibility. The discussion
you linked still holds so I won't go back to sending a magic ROLLBACK.

If we don't want to wait for the #(at)§%£$! person that wrote the Django
code to fix it we can just make .autocommit a real attribute and set the
session autocommit mode when it is assigned True/False.

Federico Di Gregorio                         federico(dot)digregorio(at)dndg(dot)it
Studio Associato Di Nunzio e Di Gregorio        
                 Ma nostro di chi? Cosa abbiamo in comune io e te? -- Md

In response to


psycopg by date

Next:From: Federico Di GregorioDate: 2011-06-14 10:09:57
Subject: Re: autocommit and Django
Previous:From: Karsten HilbertDate: 2011-06-14 09:59:17
Subject: Re: autocommit and Django

Privacy Policy | About PostgreSQL
Copyright © 1996-2017 The PostgreSQL Global Development Group