System and method for maintenance and deferred propagation of schema changes to the affected objects in an object oriented database
First Claim
1. A schema, embodied in a computer readable medium and defining at least one class of objects in a database, the schema comprising:
- at least one class object providing a first definition of a class;
for at least one class object, a shape chain comprising at least one shape object associated with the class object in an ordered series, each shape object providing a subsequent definition of the class object at a selected time, and at least one shape object in the shape chain being a current shape object for the class; and
for at least one class object, at least one client object instantiated from the class object or from the shape object that was the current shape object at the time the client object was instantiated.
3 Assignments
0 Petitions
Accused Products
Abstract
A method and system for use with object oriented databases provides schema evolution with deferred propagation of schema changes. The method and system provide a schema that persistently maintains class objects by storing an initial class definition, and shape objects associated with particular class objects and storing subsequent class definitions. The shape objects associated with a particular class object form a shape chain, the last shape object in the shape chain being the current shape object, and maintaining the current class definition. Client objects representing actual instances of data in the database, are instantiated from whichever client object or shape object is current at the time of instantiation, so the all newly created client objects always have the current class definition. Existing client objects, which are those that were created prior to one or more subsequent modifications of the class definition and instantiations of the shape objects in the shape chain of the class, are updated to the current class definition only when they are accessed in the database, thereby providing deferred propagation. Updating such client objects includes copying data members for which there was no change in the definition of the member, and performing type conversion on those data members for which there was a change in the definition of the member.
74 Citations
22 Claims
-
1. A schema, embodied in a computer readable medium and defining at least one class of objects in a database, the schema comprising:
-
at least one class object providing a first definition of a class; for at least one class object, a shape chain comprising at least one shape object associated with the class object in an ordered series, each shape object providing a subsequent definition of the class object at a selected time, and at least one shape object in the shape chain being a current shape object for the class; and for at least one class object, at least one client object instantiated from the class object or from the shape object that was the current shape object at the time the client object was instantiated. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A method of evolving a schema of a class in a database, the method comprising the steps of:
-
maintaining for the class a class object providing a first definition of the class; maintaining in association with the class object a shape chain including at least one shape object in an ordered series, each shape object providing a subsequent definition of the class, the shape chain including a current shape object; receiving an input data definition language file containing a modified definition of the class; creating a new shape object for the class according to the modified definition of the class; and
,appending the new shape object to the shape chain for the class, making the new shape object the current shape object. - View Dependent Claims (16, 17, 18, 19, 20)
-
-
21. A schema for an object oriented database, embodied in a computer readable medium and capable of maintaining a time sequenced plurality of class definitions for each of a plurality of classes, the schema comprising:
-
for each class, a class object representing the class, and maintaining a first definition of the class; for each class, a time sequenced plurality of shape objects, each shape object maintaining a subsequent definition of the class, the plurality of shape objects including a current shape object maintaining a current definition of the class, at least one of the plurality of shape objects associated with the class object of the class, wherein each class object maintains a reference to the current shape object of the class, and each shape object maintains a reference to a previous shape object and a reference to a next shape object in the time sequenced plurality of shape objects; and each class object maintains a reference to at least one member object defining a member of the class, each member object having a member identifier unique within the class having the member, the class object maintaining the highest member identifier of its member objects, and each member object of the class having a reference to a shape object associated with the class object for the class. - View Dependent Claims (22)
-
Specification