This is documentation for Caché & Ensemble. See the InterSystems IRIS version of this content.

For information on migrating to InterSystems IRIS, see How to Migrate to InterSystems IRIS, available on the WRC Distributions page (login required).


persistent class %Library.StorageDefinition extends %Library.AbstractDefinition

SQL Table Name: %Library.StorageDefinition

Contains information about a specific storage definition for a class within the Caché Dictionary.

Property Inventory (Including Private)

Method Inventory (Including Private)


property ClassName as %CacheString;
Property methods: ClassNameGet(), ClassNameIsValid(), ClassNameSet()
property DataDefinitions as %ListOfPersistentChildObjects (CLASSNAME = 1);
Property methods: DataDefinitionsGet(), DataDefinitionsGetObject(), DataDefinitionsGetObjectId(), DataDefinitionsGetSwizzled(), DataDefinitionsIsValid(), DataDefinitionsNewObject(), DataDefinitionsSet(), DataDefinitionsSetObject(), DataDefinitionsSetObjectId(), DataDefinitionsUnSwizzle()
property DataLocation as %CacheString;
Property methods: DataLocationGet(), DataLocationIsValid(), DataLocationSet()
property DefaultData as %CacheString;
Property methods: DefaultDataGet(), DefaultDataIsValid(), DefaultDataSet()
property Description as %CacheString;
Property methods: DescriptionGet(), DescriptionIsValid(), DescriptionSet()
property IdLocation as %CacheString;
Property methods: IdLocationGet(), IdLocationIsValid(), IdLocationSet()
property IndexDefinitions as %ListOfPersistentChildObjects (CLASSNAME = 1);
Property methods: IndexDefinitionsGet(), IndexDefinitionsGetObject(), IndexDefinitionsGetObjectId(), IndexDefinitionsGetSwizzled(), IndexDefinitionsIsValid(), IndexDefinitionsNewObject(), IndexDefinitionsSet(), IndexDefinitionsSetObject(), IndexDefinitionsSetObjectId(), IndexDefinitionsUnSwizzle()
property IndexLocation as %CacheString;
Property methods: IndexLocationGet(), IndexLocationIsValid(), IndexLocationSet()
property Internal as %CacheString;
Property methods: InternalGet(), InternalIsValid(), InternalSet()
property Name as %CacheString;
Property methods: NameGet(), NameIsValid(), NameSet()
property SQLBinding as %StorageSQLDefinition (CLASSNAME = 1) [ InitialExpression = ..ClassName_":"_..Name ];
Property methods: SQLBindingGet(), SQLBindingGetObject(), SQLBindingGetObjectId(), SQLBindingGetSwizzled(), SQLBindingIsValid(), SQLBindingNewObject(), SQLBindingSet(), SQLBindingSetObject(), SQLBindingSetObjectId(), SQLBindingUnSwizzle()
property StateSerial as %CacheString;
Property methods: StateSerialGet(), StateSerialIsValid(), StateSerialSet()
property Type as %CacheString;
Property methods: TypeGet(), TypeIsValid(), TypeSet()


private classmethod %DeleteData(id As %String, concurrency As %Integer) as %Status
Inherited description: This method is normally generated by the storage class for persistent classes using %Library.CacheStorage or %Library.CacheSQLStorage. Persistent classes using some other storage class, such as %Library.CustomStorage must override this method.
private method %LoadData(id As %String) as %Status
Inherited description: %LoadData() - loads an object from storage. This method is implemented by the storage class.
private method %OnNew(initvalue As %String) as %Status
Inherited description: This callback method is invoked by the %New() method to provide notification that a new instance of an object is being created.

If this method returns an error then the object will not be created.

It is passed the arguments provided in the %New call. When customizing this method, override the arguments with whatever variables and types you expect to receive from %New(). For example, if you're going to call %New, passing 2 arguments, %OnNew's signature could be:

Method %OnNew(dob as %Date = "", name as %Name = "") as %Status If instead of returning a %Status code this returns an oref and this oref is a subclass of the current class then this oref will be the one returned to the caller of %New method.

private method %OnValidateObject() as %Status
Inherited description: This callback method is invoked by the %ValidateObject() method to provide notification that the current object is being validated.

If this method returns an error then %ValidateObject() will fail.

private method %SaveData(id As %String) as %Status
Inherited description: %SaveData() - saves an object to disk, checks uniqueness and referential integrity constraints, and maintains index structures. This method is implemented by the storage class.


index (IDKEY on ) [IdKey, Type = key];
Index methods: IDKEYCheck(), IDKEYDelete(), IDKEYExists(), IDKEYOpen(), IDKEYSQLCheckUnique(), IDKEYSQLExists(), IDKEYSQLFindPKeyByConstraint(), IDKEYSQLFindRowIDByConstraint()

Inherited Members

Inherited Methods (Including Private)


Gray indicates storage defined by superclasses.

Storage Model: CacheStorage (%Library.AbstractDefinition)