persistent class %Dictionary.StorageDefinition
extends %Persistent, %Dictionary.StorageDefinitionQuery
parameter SQLENABLED = 1;
property CounterLocation
as %CacheString;
Specifies the base location of counters for properties with type is %Library.Counter. Normally this would be a global reference such as ^User.PersonC. The global reference can also include one or more leading subscripts.
relationship Data
as %Dictionary.StorageDataDefinition [ Inverse = parent,Cardinality = children ];
Data
property DataLocation
as %CacheString;
Specifies expression that is the location where data is stored for this class. Normally this would be a global reference such as ^User.PersonD. The global reference can also include one or more leading subscripts.
property DefaultData
as %CacheString;
Specifies the name of the DATA definition that the Class Compiler Data Structure Generator uses to place any previously unstored properties. A property is unstored if it is storable, but is not listed in any DATA definition.
property Description
as %CacheString;
Specifies a description of the storage definition. This description is displayed by the online class reference.
property ExtentSize
as %CacheString;
ExtentSize
property Final
as %Boolean [ InitialExpression = 0 ];
Specifies that the storage definition cannot be modified by subclasses.
property IdExpression
as %CacheString;
IdExpression
property IdLocation
as %CacheString;
Specifies location of the ID Counter.
property IndexLocation
as %CacheString;
Specifies the global used for indices for this class. If not specified, the index location is ^MyApp.MyClassI, where MyApp.MyClass is the classname.
relationship Indices
as %Dictionary.StorageIndexDefinition [ Inverse = parent,Cardinality = children ];
Index
property Internal
as %Boolean [ InitialExpression = 0 ];
If true then do not display this item in automatic documentation.
property Name
as %CacheString;
Specifies the name of the Storage definition. This name must be a valid class member name and must not conflict with any other class member names.
relationship Properties
as %Dictionary.StoragePropertyDefinition [ Inverse = parent,Cardinality = children ];
Property
relationship SQLMaps
as %Dictionary.StorageSQLMapDefinition [ Inverse = parent,Cardinality = children ];
SQLMap
property SequenceNumber
as %Integer [ InitialExpression = 0 ];
SequenceNumber
property SqlChildSub
as %CacheString;
SqlChildSub
property SqlIdExpression
as %CacheString;
SqlIdExpression
property SqlRowIdName
as %CacheString;
Specifies the name of the Row ID column projected to SQL.
property SqlRowIdProperty
as %CacheString;
Specifies the SQL RowId property. This keyword is only used by classes that have been migrated from earlier InterSystems products.
property SqlTableNumber
as %CacheString;
Specifies the internal SQL Table Number. This keyword is only used by classes that have been migrated from earlier InterSystems products.
property State
as %CacheString;
For a serial embedded class, this keyword specifies which Data definition is used to define the serialized state of the object. This is also the default DATA definition that unstored properties will be added to by the default structure generator.
property StreamLocation
as %CacheString;
Specifies the default global used to store any stream properties within this class. If not specified, the index location is ^MyApp.MyClassS, where MyApp.MyClass is the classname.
property Type
as %Dictionary.CacheClassname;
Specifies the Storage Class used to provide persistence for this class.
property VersionLocation
as %CacheString;
Specifies location of the %Version Counter.
relationship parent
as %Dictionary.ClassDefinition [ Inverse = Storages,Cardinality = parent ];
Pointer to the containing parent object
classmethod %Exists(oid As %ObjectIdentity)
as %Boolean
Checks to see if the object identified by the OID oid exists in the extent.
Returns %Boolean TRUE if it exists, FALSE if it does not.
classmethod %LockId(id As %String, shared As %Boolean = 0)
as %Status
%LockId()
Obtain an exclusive or shared lock on the object identified by id. The type
of lock obtained is determined by shared. This method is normally generated by
the storage class for persistent classes using %Library.CacheStorage or %Library.CacheSQLStorage.
classmethod %UnlockId(id As %String, shared As %Boolean = 0, immediate As %Boolean = 0)
as %Status
%UnlockId()
Release an exclusive or shared lock on the object identified by id. The type
of lock released is determined by shared. If this method is not overridden
then the default implementation returns an error. This method is normally generated by
the storage class for persistent classes using %Library.CacheStorage or %Library.CacheSQLStorage.
index (IDKEY on Name) [IdKey];
trigger OnDelete
(AFTER event DELETE) trigger OnInsertUpdate
(BEFORE event INSERT/UPDATE)