Home > Class Reference > %SYS namespace > %Dictionary.IndexDefinition
Private  Storage   

%Dictionary.IndexDefinition


persistent class %Dictionary.IndexDefinition extends %Persistent, %Dictionary.IndexDefinitionQuery

Inventory


Parameters Properties Methods Queries Indices ForeignKeys Triggers
1 17 9 1 2


Summary


Properties
Condition Data Deprecated Description Extent
IdKey Internal Name Parameters PrimaryKey
Properties SequenceNumber SqlName Type TypeClass
Unique parent

Methods
%AddToSaveSet %AddToSyncSet %BuildIndices %CheckConstraints
%CheckConstraintsForExtent %ClassIsLatestVersion %ClassName %ComposeOid
%ConstructClone %Delete %DeleteExtent %DeleteId
%DispatchClassMethod %DispatchGetModified %DispatchGetProperty %DispatchMethod
%DispatchSetModified %DispatchSetMultidimProperty %DispatchSetProperty %Exists
%ExistsId %Extends %GUID %GUIDSet
%GetLock %GetParameter %GetSwizzleObject %Id
%IsA %IsModified %IsNull %KillExtent
%LockExtent %LockId %New %NormalizeObject
%ObjectIsNull %ObjectModified %Oid %OnBeforeAddToSync
%OnDetermineClass %Open %OpenId %OriginalNamespace
%PackageName %PurgeIndices %Reload %RemoveFromSaveSet
%ResolveConcurrencyConflict %RollBack %Save %SaveDirect
%SerializeObject %SetModified %SortBegin %SortEnd
%SyncObjectIn %SyncTransport %UnlockExtent %UnlockId
%ValidateIndices %ValidateObject SummaryClose SummaryExecute
SummaryFetch TypeIsValid parentOnDelete


Parameters


• parameter SQLENABLED = 1;

Properties


• 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 Deprecated as %Boolean [ InitialExpression = 0 ];
True if this index is deprecated.
• 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 [ Required ];
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. Type 'key' is deprecated.
• property TypeClass as %Dictionary.CacheClassname;
Specifies the FunctionalIndex class used to provide the implementation of the functional index interface.
• 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

Methods


• 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, timeout As %Integer) as %Status
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
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
• classmethod parentOnDelete(id As %String, concurrency As %Integer) as %Status

Indices


•index (IDKEY on Name) [IdKey];

Triggers


•trigger OnDelete (AFTER event DELETE)
•trigger OnInsertUpdate (BEFORE event INSERT/UPDATE)