(This discussion refers to ticket #3)
Referential Integrity (the term used for this property in AllegroCache?) refers to the property of a database that ensures when the referent of a reference is deleted from the database, the referrer is properly updated. That is to say, if I have a persistent slot S of an instance A that contains the oid reference of another instance, B and B is deleted from the database, what then is the value of S?
Currently Elephant creates an object for which references to any of its members will be unbound. One solution is to have a status slot in each persistent object that determines whether that object is valid. A proxy 'null' object is created that fails to satisfy a predicate valid-object-p that all valid objects satisfy.
Another option is to roll this in with an oid-class table (Ticket #25). When an object is deleted the class table points to a common "null object". We'd have to think about what the default behavior is for this object on creation, etc.