On Tue, Apr 7, 2009 at 2:00 PM, Guus Bloemsma <[email protected]> wrote:
> You cannot make a "generic merge" with only the information which fields
> have been written. You also need to know which fields were read in order to
> derive the written values. In Qi4J this list of read fields should be easy
> to create.
>
> A UoWs (transaction) can be committed when all the read fields still have
> the same values as when the UoW started. The old values of written, but not
> read, fields are irrelevant since they are blindly overwritten.
>
> Essentially the idea is that when all the read fields still have the same
> value, the UoW would have exactly the same result if repeated right now.
> This of course assumes that that code is deterministic and not dependent on
> IO or the wall clock or something like that.

Interesting observation; If the fields used in a UoW have not changed,
the outcome of the UoW will be the same if executed again.

Need to ponder over that a while...

Cheers
-- 
Niclas Hedhman, Software Developer
http://www.qi4j.org - New Energy for Java

I  live here; http://tinyurl.com/2qq9er
I  work here; http://tinyurl.com/2ymelc
I relax here; http://tinyurl.com/2cgsug

_______________________________________________
qi4j-dev mailing list
[email protected]
http://lists.ops4j.org/mailman/listinfo/qi4j-dev

Reply via email to