4 Matching Annotations
  1. Apr 2020
    1. You can commit your transaction, if you have done other meaningful worksince you last committed, and then follow these steps:1.Remove the index in which the instance participates.2.Migrate the instance.3.Re-create the index, this time using a constraint appropriate to thenew class version.4.Commit the transaction

      Indexes may have to be temporarily removed an recreated if the structure does not carry over.

    2. Transforming Variable Values

      Example of transforming variables - old class Point (x,y) to new class Point(radius, angle).

    3. Class Histories and Constraints

      Example of a simple refactoring - moving a set of class attributes to a new nested class, which has more constraints (new fields) as well.

    4. To support this inevitable need for schema modification, GemStone allows you todefine different versions of classes. Every class in GemStone has a classhistory—an object that maintains a list of all versions of the class—and every classis listed in exactly one class history. You can define as many different versions ofa class as required, and declare that the different versions belong to the same classhistory. You can migrate some or all instances of one version of a class to anotherversion when you need to. The values of the instance variables of the migratinginstances are retained, if you have defined the new version to do so.

      Simple case - migrating one class to a new version.