persistent class %Dictionary.IndexDefinition
extends %Persistent, %Dictionary.IndexDefinitionQuery
parameter SQLENABLED = 1;
property Condition
as %CacheString;
In the case of a conditional index, specifies the condition that must be met for an entry to be included in the index.
property Data
as %CacheString;
Specifies a list of properties whose values are to be stored within this index.
property Description
as %CacheString;
Specifies a description of the index.
property Extent
as %Boolean [ InitialExpression = 0 ];
An extent index is used to keep track of which object instances belong to a subclass. When using bitmap indices, then an extent index is automatically maintained and there is no need to define one.
property IdKey
as %Boolean [ InitialExpression = 0 ];
Specifies that the property or properties defined for this index will be used to form the Object Identity value for this object. This value is used to uniquely locate persistent object instances.
property Internal
as %Boolean [ InitialExpression = 0 ];
If true, then do not display this item in automatic documentation.
property Name
as %Dictionary.CacheIdentifier;
The name of the index.
property Parameters
as array of %CacheString;
Parameter
property PrimaryKey
as %Boolean [ InitialExpression = 0 ];
Specifies that this index should be reported, via SQL, as being the Primary Key for this class.
property Properties
as %CacheString;
Specifies a list of properties used to build this index. May also include a collation specification for each property.
property SequenceNumber
as %Integer [ InitialExpression = 0 ];
SequenceNumber
property SqlName
as %CacheString;
Defines an alternate name for this index when referred to via SQL.
property Type
as %CacheString;
Specifies the type of the index.
property Unique
as %Boolean [ SqlFieldName = _Unique,InitialExpression = 0 ];
Specifies whether this is a unique index. The property or properties indexed by a unique index are constrained to have unique values. This means that no two instances can have the same collated value within the extent among the set of all objects of the class that defines the index.
relationship parent
as %Dictionary.ClassDefinition [ Inverse = Indices,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.
classmethod TypeIsValid(val As %String)
as %Status
index (IDKEY on Name) [IdKey];
trigger OnDelete
(AFTER event DELETE) trigger OnInsertUpdate
(BEFORE event INSERT/UPDATE)