Versioning and persistence

Patrick Logan patrickl@servio.gemstone.com
Tue, 20 May 97 17:16 PDT


>>>>> "Chris" == x22068  <Chris> writes:

    Chris> What is most weird is what should happen when a old version
    Chris> segment starts accessing another segment, and vice versa.

In Gemstone each "session" essentially has its own "object table" tied
to the state of the world when it began its current transaction. It is
impossible to access one object from one "version" and another object
from another "version". That would be illogical.

The concept that Gemstone promotes is similar to a Smalltalk
"image". A transaction is a unit of work applied to an "image" of
objects that make sense as a whole. When the transaction commits
successfully, it commits every object that has changed or it
fails. The state of any particular object only truly makes sense
within the context of all the other objects in that "image".

Jumping on to this list only today, I am assuming a LispOS "image"
would be single user, or at least multiple users affecting a single
"image". That simplifies a lot of things.

-- 
Patrick Logan                 mailto:patrickl@gemstone.com
Voice 503-533-3365            Fax   503-629-8556
Gemstone Systems, Inc         http://www.gemstone.com