How to integrate Schema Evolution into the Persistent Garbage Collection
Schema evolution is an important functionality in object-oriented database systems, because persistent objects can exist for a long time during which the environment may change. Therefore it is often necessary to adapt the objects. In most cases it is enough to change the values of some attributes, but sometimes also the types of the objects have to be modified, for example, when attributes have to be renamed or changed. This modification - called schema evolution - is often not supported by database systems, because of high implementation effort and increased run time delays. In this paper we demonstrate a very simple algorithm for schema evolution that is integrated in the garbage collector of a persistent object-oriented development environment. Thus, no additional delays are produced, since garbage collection and schema evolution is done in concert. A proof-of-concept prototype implementation is operational in the Oberon system.
Paper at the 8th ECOOP Workshop for PhD Students in Object-Oriented Systems, Brussels, July 1998
Published in Lecture Notes in Computer Science 1543, Springer-Verlag1998.