> On the other hand, I have some funky code going on after trying to deal > with DBI's handling of transactions -- I don't want AutoCommit, but it > seems to be impossible to do "set transaction isolation level serializable" > without it, because DBI won't open a transaction if you send that command, > but won't let you send a "begin" yourself, and effectively won't let you > call ->begin unless AutoCommit is on. So I do have more caching than I > probably should, in order to keep state. That's where I'll start looking, > then.
I wrote this little module to cut through all that mess: It makes you issue a "begin" at the start of every transaction regardless of AutoCommit, and allows you to nest transactions as deep in perl; only when you do the last "commit" or "rollback" does the transaction actually close on the db server: http://search.cpan.org/~CRAKRJACK/DBIx-Transaction-0.005/ Cheers, Tyler