close Warning: Can't synchronize with repository "(default)" (/project/elephant/svn does not appear to be a Subversion repository.). Look in the Trac log for more information.

Changes between Initial Version and Version 1 of ReferentialIntegrity

03/05/07 03:43:10 (11 years ago)



  • ReferentialIntegrity

    v1 v1  
     1(This discussion refers to ticket #3)
     3Referential 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? 
     5Currently 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.
     7Another 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.