Database Query Contains Old Data

James A. Donald jamesd at
Tue Jun 3 00:17:48 CEST 2008

On Wed, 21 May 2008 07:23:04 -0700 (PDT), Paul Boddie 
> MySQL appears to use "repeatable read" by default [1] as its
> transaction isolation level, whereas PostgreSQL (for example) uses
> "read committed" by default [2]. I would guess that if you were using
> PostgreSQL, this particular problem would not have occurred, but there
> are other reasons to be aware of the effects of long duration
> transactions in PostgreSQL, and the practice of periodically
> performing a rollback would still be worth considering with that
> database system.

If one has transactions open for a long time, or transactions that
involve a great deal of data, this will result in poor performance or
poor scalability.  But one may have such large transactions without
being aware of it.  Is there any way to make transaction size salient
to the developer?  Any way to make sure one is committing as early and
often as possible?

We have the right to defend ourselves and our property, because 
of the kind of animals that we are. True law derives from this 
right, not from the arbitrary power of the omnipotent state.      James A. Donald

More information about the Python-list mailing list