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