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

%Dictionary.IndexDefinition

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

SQL Table Name: %Dictionary.IndexDefinition

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 methods: ConditionGet(), ConditionIsValid(), ConditionSet()
property Data as %CacheString;
Specifies a list of properties whose values are to be stored within this index.
Property methods: DataGet(), DataIsValid(), DataSet()
property Deprecated as %Boolean [ InitialExpression = 0 ];
True if this index is deprecated.
Property methods: DeprecatedDisplayToLogical(), DeprecatedGet(), DeprecatedIsValid(), DeprecatedLogicalToDisplay(), DeprecatedNormalize(), DeprecatedSet()
property Description as %CacheString;
Specifies a description of the index.
Property methods: DescriptionGet(), DescriptionIsValid(), DescriptionSet()
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 methods: ExtentClose(), ExtentDisplayToLogical(), ExtentExecute(), ExtentFetch(), ExtentFetchRows(), ExtentFunc(), ExtentGet(), ExtentGetInfo(), ExtentGetODBCInfo(), ExtentIsValid(), ExtentLogicalToDisplay(), ExtentNormalize(), ExtentPrepare(), ExtentSendODBC(), ExtentSet()
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 methods: IdKeyDisplayToLogical(), IdKeyGet(), IdKeyIsValid(), IdKeyLogicalToDisplay(), IdKeyNormalize(), IdKeySet()
property Internal as %Boolean [ InitialExpression = 0 ];
If true, then do not display this item in automatic documentation.
Property methods: InternalDisplayToLogical(), InternalGet(), InternalIsValid(), InternalLogicalToDisplay(), InternalNormalize(), InternalSet()
property Name as %Dictionary.CacheIdentifier [ Required ];
The name of the index.
Property methods: NameGet(), NameIsValid(), NameSet()
property Parameters as array of %CacheString;
Parameter
Property methods: ParametersBuildValueArray(), ParametersCollectionToDisplay(), ParametersCollectionToOdbc(), ParametersDisplayToCollection(), ParametersGet(), ParametersGetObject(), ParametersGetObjectId(), ParametersGetSwizzled(), ParametersIsValid(), ParametersOdbcToCollection(), ParametersSet(), ParametersSetObject(), ParametersSetObjectId()
property PrimaryKey as %Boolean [ InitialExpression = 0 ];
Specifies that this index should be reported, via SQL, as being the Primary Key for this class.
Property methods: PrimaryKeyDisplayToLogical(), PrimaryKeyGet(), PrimaryKeyIsValid(), PrimaryKeyLogicalToDisplay(), PrimaryKeyNormalize(), PrimaryKeySet()
property Properties as %CacheString;
Specifies a list of properties used to build this index. May also include a collation specification for each property.
Property methods: PropertiesGet(), PropertiesIsValid(), PropertiesSet()
property SequenceNumber as %Integer [ InitialExpression = 0 ];
SequenceNumber
Property methods: SequenceNumberDisplayToLogical(), SequenceNumberGet(), SequenceNumberIsValid(), SequenceNumberLogicalToDisplay(), SequenceNumberNormalize(), SequenceNumberSet()
property SqlName as %CacheString;
Defines an alternate name for this index when referred to via SQL.
Property methods: SqlNameGet(), SqlNameIsValid(), SqlNameSet()
property Type as %CacheString;
Specifies the type of the index. Type 'key' is deprecated.
Property methods: TypeClassGet(), TypeClassIsValid(), TypeClassSet(), TypeGet(), TypeIsValid(), TypeSet()
property TypeClass as %Dictionary.CacheClassname;
Specifies the FunctionalIndex class used to provide the implementation of the functional index interface.
Property methods: TypeClassGet(), TypeClassIsValid(), TypeClassSet()
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.
Property methods: UniqueDisplayToLogical(), UniqueGet(), UniqueIsValid(), UniqueLogicalToDisplay(), UniqueNormalize(), UniqueSet()
relationship parent as %Dictionary.ClassDefinition [ Required , Inverse = Indices , Cardinality = parent ];
Pointer to the containing parent object
Property methods: parentCheck(), parentDelete(), parentGet(), parentGetObject(), parentGetObjectId(), parentGetSwizzled(), parentIsValid(), parentNewObject(), parentOnDelete(), parentRClose(), parentRExec(), parentRFetch(), parentRelate(), parentSQLCompute(), parentSet(), parentSetObject(), parentSetObjectId(), parentUnRelate(), parentUnSwizzle()

Methods

classmethod %Exists(oid As %ObjectIdentity) as %Boolean
Inherited description: 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
Inherited description: 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
Inherited description: 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

Inherited Methods

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

Indexes

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

Triggers

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

Storage