Open Exchange
Global Masters
Home / Class Reference / ENSLIB namespace / %ExtentMgr.Catalog.Extent
Private  Storage   


The Extent Manager Catalog classes model the extent metadata. Extent metadata is not part of the %Dictionary. Rather, extent metadata should be considered to be part of the data. Extent metadata describes the structure of persistent data. Extent metadata also includes information about the state of the data including selectivity information used by the query optimizer, the status of index structures and the current state of constraints on the extent.

An extent corresponds to an SQL table. The name of the extent is always the same as the class with a ".cls" extension. A class can only have one extent in a namespace but there can be extents for a class in many different namespaces.


Parameters Properties Methods Queries Indices ForeignKeys Triggers
8 2


Class ExtentSize Indices Name Properties
ShardIdRanges SuperExtent TuneTable

%AddToSaveSet %AddToSyncSet %BMEBuilt %BuildIndicesAsync
%BuildIndicesAsyncResponse %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 %InsertBatch %IsA
%IsModified %IsNull %KillExtent %KillExtentData
%LoadFromMemory %LockExtent %LockId %New
%NormalizeObject %ObjectIsNull %ObjectModified %Oid
%OnBeforeAddToSync %OnDetermineClass %Open %OpenId
%OriginalNamespace %PackageName %PhysicalAddress %PurgeIndices
%Reload %RemoveFromSaveSet %ResolveConcurrencyConflict %RollBack
%Save %SaveDirect %SaveIndices %SerializeObject
%SetModified %SortBegin %SortEnd %SyncObjectIn
%SyncTransport %UnlockExtent %UnlockId %ValidateIndices


• property Class as %Dictionary.CompiledClass;
This property is a reference to the CompiledClass in the dictionary. This property might not always be set and it might not always swizzle when it is set. If this property value is not null and it will not swizzle it simply means the class that owns this extent is not currently compiled.
• property ExtentSize as %RawString;
• relationship Indices as %ExtentMgr.Catalog.Index [ Inverse = Extent,Cardinality = children ];
• property Name as %String(MAXLEN=255);
Extent name - this is normally the same as the name of the class bound to this extent with the addition of an extension of ".cls".
• relationship Properties as %ExtentMgr.Catalog.Property [ Inverse = Extent,Cardinality = children ];
• relationship ShardIdRanges as %ExtentMgr.Catalog.ShardIdRanges [ Inverse = Extent,Cardinality = children ];
• property SuperExtent as %ExtentMgr.Catalog.Extent;
If this extent is a subextent then SuperExtent is a reference to this extent's parent. If SuperExtent is empty then this extent is a root extent.
• property TuneTable as %Integer;


•index (C on Class) [Unique];
•index (IDK on Name) [IdKey];