Hi Ryan,

On 6/23/2015 12:20 PM, Ryan Culpepper wrote:
Yes, that should be fine. One note about your sample code: the isolation mode of inner transactions must be #f (the default); you can't change isolation levels once you've started an outer transaction. Also keep in mind that nested transactions are not supported for ODBC connections.

Yes, I saw in reading some more that both call-with-transaction and start-transaction create a savepoint if an outer transaction is open. Savepoints are very nice but they don't handle every situation - sometimes you really need a full subtransaction.

Using savepoints means, e.g., that if I need serialize isolation anywhere, I have to use serilize isolation everywhere. For many situations, that's hitting a fly with a sledgehammer and severely impacts performance. There are lots of cases where you need to serialize a particular operation inside a much larger transaction that mostly can run with lower isolation.

[He asks naively not having looked at the code:] Would it be hard to keep savepoint creation if #:isolation is #f but allow other settings to create a real subtransaction? At least if #:isolation is 'serialized? I can't think of any realistic case where a subtransaction would require higher isolation but not need to be serialized.

Thanks,
George

--
You received this message because you are subscribed to the Google Groups "Racket 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to