[Zope-DB] Transactional problem with eGenix mxODBC Zope DA 1.0.6 and SQL Server 2000

Dieter Maurer dieter at handshake.de
Wed Oct 29 14:28:24 EST 2003


M.-A. Lemburg wrote at 2003-10-29 17:54 +0100:
 > ...
 > 2. in some situations, mxODBC Zope DA will return two different
 >     physical connections to a single request; since the two physical
 >     connections each run their own transactions, you can observe the
 >     locking mentioned above within the Zope request, thus blocking
 >     the request until the database lock times out

In my view, this is a severe bug. It separates Zope transactions from
database transactions.

Beside the blocking issue covered in this thread, it also means
that changes made in the first transaction are not seen in the
second transaction. This can lead to surprises and even wrong
data put into the database.

 > ...
 > Problem 2 will be fixed in version 1.0.7 where we'll add an
 > option that forces usage of only one physical connection per
 > request.

Are you sure, you want an option for this?
In my view, you should use different DA instances when you need
independent transactions in the same request.
If the same DA instance is used several times in a single request,
then all these uses should always be performed in the same transaction.

-- 
Dieter



More information about the Zope-DB mailing list