On 15/11/05, Sean Cazzell <[EMAIL PROTECTED]> wrote: > Disabled by default (must explicitly enable): > @expose(transaction=True) > > Obviously the latter is backwards compatible, but if everyone is going > to want a transaction for all of their controller methods, maybe it > should be enabled by default?
I'm a TG and SQLObject newbie, so I may be missing something. But, as a database guy, I'd prefer to see it off by default. I'm making the assumption that some if not most pages on a site will be reading, but not modifying data, and that the database transactions are based on locks of some sort. In that case, it makes more sense from the database side to only use a transaction when actually modifying data, especially in a multi-user application. Wrapping it up in expose is a nice clean way of doing that, but I'm (perhaps unreasonably?) worried that wrapping every single request in a transaction by default is unneccesary overhead. One other thought: My current TurboGears application doesn't even use SQLObject, I'm using direct database queries and an XML-RPC server. I'd love to see this kind of scenario keep working. Thanks for doing the work on the transactions! Take care, -Brian

