Dave,

According to livedocs cftransaction by default uses the default isolation
level of the database - which in most installations will be either read
committed or repeatable read.

What you say is true if one sets the isolation level explicitly to
serializable.  However (I'm sure you know this but it's worth saying), it's
hard to overstate the crippling effect on database throughput that
serializable transactions can have.  I would recommend that even for lightly
loaded sites it's worth the extra effort to put a locking strategy in place
using cflock, and save serializable transactions for "stop the world"
database maintenance tasks.

Jaime Metcher

> -----Original Message-----
> From: Dave Watts [mailto:[EMAIL PROTECTED]
> Sent: Wednesday, 12 September 2007 4:32 AM
> To: CF-Talk
> Subject: RE: Odd database behavior: duplicate key error
>
>
> This is not correct at all, according to my understanding. CFTRANSACTION
> creates a database transaction, which uses either locking or MVCC
> (depending
> on the specifics of the database used) to prevent concurrent access to
> database objects that would cause data integrity problems. It doesn't just
> affect the current thread; it affects any attempt to simultaneously
> manipulate the same database objects - not just from within other
> threads in
> CF, but even from other database clients. The default isolation level for
> CFTRANSACTION is SERIALIZABLE, if I recall correctly.
>
> http://en.wikipedia.org/wiki/Isolation_(computer_science)
>



~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
Enterprise web applications, build robust, secure 
scalable apps today - Try it now ColdFusion Today
ColdFusion 8 beta - Build next generation apps

Archive: 
http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:288209
Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm
Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4

Reply via email to