Hi,
I found a bug in cl-prevalence, where the objects that are linked are
not properly reconstructed from the transaction log (restoring from a
snapshot is fine).
I included minimal example code in the attached file and also on lisp
paste [1] for easy reference.
Joe and Ma Dalton are two persons, and the slot 'PARENT of Joe is Ma.
When the objects are reconstructed from the transaction log, three
objects are created: Joe, Ma and another Ma that is the value of the
slot 'PARENT of Joe, but not the same object as the first Ma.
A look at the transaction-log.xml file shows that in the transaction for
the creation of Joe, Ma is referred to as a person and the values of its
slots are indicated, instead of referring to the previously created
instance.
Can anyone reproduce this? Any ideas to fix? I guess that the
serialization doesn't know of the already existing objects.
I'm working on SBCL 1.0.6 on Ubuntu 07.10 and cl-prevalence is the last
released version.
Thanks in advance,
Evan
[1] http://paste.lisp.org/display/57271