[rucksack-devel] Re: Rucksack, ECLM

Arthur Lemmens alemmens at xs4all.nl
Fri May 19 15:19:23 UTC 2006


Nikodemus wrote:

> Starting from the top: to do anything at all with a persistent object
> (ignoring non-persistent slots) you need to
>
>  1. Have the rucksack the object belongs to open.
>  2. Be in a transaction.
>
> Could this "anything" be extended to holding a reference?
>
> So that when a transaction exits, all in-memory objects with that
> transaction-id become invalid, and trying to use them in the context
> of another transaction would signal an error.

Yes, the transaction knows which objects it has committed so I think
it could invalidate those in some way as part of the commit (by setting
a flag or something).

> Then, the only way another transaction can legally get a hold of the
> same object is by getting it afresh from the Rucksack.

Yep.

> That provides for the clear semantics and determinism, but is somewhat
> inconvenient.

I'm not sure why you think that's inconvenient.  But you've given up on
the idea of having references to persistent objects outside of transactions,
right?  Then I'll skip the details here.

Arthur




More information about the rucksack-devel mailing list