[Seaside] what objects can i register for backtracking?

Avi Bryant avi at beta4.com
Thu Jan 8 19:37:09 CET 2004


On Jan 8, 2004, at 11:23 AM, radoslav hodnicak wrote:
> my question:
>
> it looks to me like my glorp session would be a good candidate for
> backtracking but - will this work reliably? (for those who don't know
> glorp just assume glorp session is a quite complex object, with caches,
> database accessors etc).

No, you don't want to do that.  Objects get backtracked shallowly, so 
it doesn't work as you would like for complex trees of objects.  But 
more to the point, backtracking is *only* meant for UI state - for 
domain state, you should be using the transaction facilities of your 
database.

The answer to your question, however, is that since relational 
databases don't like having multiple simultaneous transactions on one 
connection, you want to be really careful about keeping transactions 
open - the simplest and most reliable solution is to have each 
transaction/unit of work only exist for a single request.  Since it's 
an issue in the external database, it's not something that any 
backtracking strategy inside Seaside is going to be able to fix.



More information about the Seaside mailing list