Home > Class Reference > %SYS namespace > %ExtentMgr.GlobalRegistry
Private  Storage   



Parameters Properties Methods Queries Indices ForeignKeys Triggers
4 7 2 1


GlobalName GlobalReference ReferenceCardinality UsedBy

%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
%ValidateObject ClearExtent DeleteReference FindReference
IncompatibleUse LockUse RegisterReference UnLockUse


• property GlobalName as %String(MAXLEN=255,TRUNCATE=1) [ Calculated ];
• property GlobalReference as %String(COLLATION="EXACT",MAXLEN=512,TRUNCATE=1);
• property ReferenceCardinality as %Integer [ Calculated ];
• property UsedBy as %ExtentMgr.Catalog.Extent;


• classmethod ClearExtent(extent As %String(MAXLEN="")) as %Status
• classmethod DeleteReference(pReference As %String(MAXLEN="")="", ByRef pUsedBy As %ExtentMgr.Catalog.Extent) as %Status
DeleteReference will delete a registered global reference from the GlobalRegistry if it was previously registered. The If the global reference exists then the registry ID is retrieved and the GlobalRegistry instance is deleted. This method returns a status value. It will return a failure status if pReference was not previously registered.
• classmethod FindReference(pReference As %String, ByRef pExistingUse As %String, ByRef pSC As %Status) as %Integer
FindReference() Returns the ID of a %ExtentMgr.GlobalRegistry object whose GlobalReference value is equal to the pReference parameter. Two optional parameters are returned also. pExistingUse is the UsedBy.%Id() if the reference is found and pSC is a status value.
• classmethod IncompatibleUse(pReference As %String, pGlobalName As %String, pUse As %String = "", ByRef pExisting As %Integer = "") as %String
• classmethod LockUse(pUse As %String, ByRef arGlobals As %String, ByRef arReferences) as %Status
LockUse() This method locks the global index for each global referenced by pUse and returns an array of the globals locked subscripted by the global name, and an array of global references used by pUse. The array is subscripted by the %ExtentMgr.GlobalRegistry.%%ID and each entry is equal to the .GlobalReference.
• classmethod RegisterReference(pReference As %String(MAXLEN=""), pUse As %String(MAXLEN=""), ByRef pExisting As %Integer) as %Status

This method registers the global reference in the global registry for use by the requested pUse entity. If no incompatible uses are found then the method succeeds. Otherwise, an error message indicating the conflict and type of conflict is returned.

pReferenceThe global reference to be registered
pUse The name of the entity being registered for this reference. pUse is in the form entity.entitytype. For example, registering a use for ^Sample.PersonD by the class Sample.Person the use is expected to be "Sample.Person.cls".

• classmethod UnLockUse(pUse As %String, ByRef arLocks As %String) as %Status


•index (G on GlobalName:EXACT) [Data = (GlobalReference,UsedBy)];
•index (U on UsedBy);


•foreignkey Extent (UsedBy) references %ExtentMgr.Catalog.Extent () OnDelete: cascade; OnUpdate: noaction