persistent class %ExtentMgr.GlobalRegistry
extends %Persistent
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.
pReference | The 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);