[ Email says sending to the group failed. Apologies if this appears multiple times. ]

Hi Ryan,

On 6/24/2015 10:06 AM, Ryan Culpepper wrote:
On 06/24/2015 07:46 AM, George Neuner wrote:

[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.

I haven't been able to find much information about "real subtransactions" as opposed to savepoints. What DB systems support them? How are they created and managed? If it's through SQL commands, then it might not be too difficult.

Hmm ... hadn't thought about which DBMS support them.

You're right that that information is hard to find. I know SQLServer and Sybase support them. (Quite) A bit of searching shows that not many others do. Nesting is required for 2-phase commit [so I would have thought all production quality DBMS would do it] but it seems that most DBMS now only *support* 2-phase commit by external controller and don't actually *do* 2-phase natively.

Probably best to forget it. I can do what I need with locks - it's just that using transactions would have made the code simpler to understand.


FWIW: "subtransaction" is just jargon, there's no real notion separate from a normal transaction. It's simply that DBMS which allow nesting can enforce strict stack scoping so that inner transactions must complete before outer. Commits on inners are provisionary - visible within the outer but not to concurrently executing transactions until the outer commits. Different from savepoints in that inner transactions can specify different isolation.

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