Public Member Functions | |
_.Library.Status | OnNew (_.Library.RawString initvalue) |
This callback method is invoked by the <METHOD>New</METHOD> method to. More... | |
_.Library.Status | SaveData (_.Library.String id) |
SaveData() - saves an object to disk, checks uniqueness and referential More... | |
_.Library.Status | CheckIntegrity (_.Library.Boolean Silent) |
This checks the integrity of a global. More... | |
_.Library.Status | Compact (_.Library.Integer PercentFull, _.Library.Float MbProcessed, _.Library.Float MbCompressed, _.Library.Integer MbToCompress, _.Library.String LastGlobalReference) |
Compact a global. More... | |
_.Library.Status | NameSet (_.Library.String Arg) |
Set the Global name. More... | |
![]() | |
_.Library.Status | AcquireLock (_.Library.String locktype) |
Acquires a lock for the current instance. More... | |
_.Library.Status | LoadData (_.Library.String id) |
LoadData() - loads an object from storage. More... | |
_.Library.Status | OnAfterSave (_.Library.Boolean insert) |
This callback method is invoked by the <METHOD>Save</METHOD> method to. More... | |
_.Library.Status | OnBeforeSave (_.Library.Boolean insert) |
This callback method is invoked by the <METHOD>Save</METHOD> method to. More... | |
_.Library.Status | OnOpen () |
This callback method is invoked by the <METHOD>Open</METHOD> method to. More... | |
_.Library.Status | OnReload () |
This callback method is invoked by the <METHOD>Reload</METHOD> method to. More... | |
_.Library.Status | OnRollBack () |
This callback method is invoked by the <METHOD>Save</METHOD> method to. More... | |
_.Library.Status | ReleaseLock (_.Library.String locktype) |
Releases a lock for the current instance. More... | |
![]() | |
_.Library.Status | OnJournalObject (_.Library.Integer tranid, _.Library.Integer jrnid, _.Library.String filter) |
This callback method is invoked by the <METHOD>JournalObject</METHOD> method to. More... | |
![]() | |
_.Library.Status | OnAddToSaveSet (_.Library.Integer depth, _.Library.Integer insert, _.Library.Integer callcount) |
This callback method is invoked when the current object is added to the SaveSet,. More... | |
_.Library.Status | OnClose () |
This callback method is invoked by the <METHOD>Close</METHOD> method to. More... | |
_.Library.Status | OnConstructClone (_.Library.RegisteredObject object, _.Library.Boolean deep, _.Library.String cloned) |
This callback method is invoked by the <METHOD>ConstructClone</METHOD> method to. More... | |
_.Library.Status | OnNew () |
This callback method is invoked by the <METHOD>New</METHOD> method to. More... | |
_.Library.Status | OnValidateObject () |
This callback method is invoked by the <METHOD>ValidateObject</METHOD> method to. More... | |
Static Public Member Functions | |
_.Library.Status | CheckGlobalIntegrity (_.Library.String Directory, _.Library.String Name, _.Library.Boolean StopAfterAnyError) |
This checks the integrity of a single global. More... | |
_.Library.Status | CompactGlobal (_.Library.String Name, _.Library.String Directory, _.Library.Integer PercentFull, _.Library.Integer MbProcessed, _.Library.Integer MbCompressed, _.Library.Integer MbToCompress, _.Library.String LastGlobalReference) |
Compact a global. More... | |
_.Library.Status | CompareRange (_.Library.String SrcDirectory, _.Library.String DstDirectory, _.Library.String StartingNode, _.Library.String EndingNode, _.Library.Integer MaxDifferences, _.Library.String MaxToCompare, _.Library.Integer Flags, _.Library.String Differences) |
Compare the same global in two different databases. More... | |
_.Library.Status | Create (_.Library.String Namespace, _.Library.String Name, _.Library.String Collation, _.Library.Integer GrowthBlock, _.Library.Integer PointerBlock, _.Library.Boolean Keep, _.Library.Integer JournalState, _.Library.Boolean Exists) |
Create a global with specified characteristics. More... | |
_.Library.Status | DeleteDirectoryEntry (Directory, Global) |
Delete a directory entry for a global if the global does not exist. More... | |
GetGlobalCountBySubscript (_.Library.String Directory, _.Library.String StartingNode, _.Library.String EndingNode, _.Library.String Size) | |
Return the number of global nodes in the range, and journal sizing information. More... | |
_.Library.Status | GetGlobalSize (_.Library.String Directory, _.Library.String GlobalName, _.Library.Integer Allocated, _.Library.Integer Used, _.Library.Integer fast) |
Get size of this global More... | |
GetGlobalSizeBySubscript (_.Library.String Directory, _.Library.String StartingNode, _.Library.String EndingNode, _.Library.String Size, _.Library.Boolean Fast) | |
Return the size of a global or range of nodes in a global. More... | |
_.Library.Status | KillRange (_.Library.String Directory, _.Library.String StartingNode, _.Library.String EndingNode) |
Kill a subscripted range of a single global in a single database. More... | |
_.Library.ObjectHandle | Open (_.Library.String Name, _.Library.String Directory, _.Library.String System, _.Library.Integer concurrency, _.Library.Status sc) |
Open an instance of a global. | |
![]() | |
_.Library.Status | DeleteData (_.Library.String id, _.Library.Integer concurrency) |
This method is normally generated by the storage class for persistent classes using. More... | |
_.Library.Status | KillExtentData (_.Library.Boolean killstreams) |
KillExtentData() - kills extent data in storage. More... | |
_.Library.Status | OnAfterBuildIndices (_.Library.String indexlist) |
This callback method is invoked by the <METHOD>BuildIndices</METHOD> method after all work is completed. More... | |
_.Library.Status | OnAfterDelete (_.Library.ObjectIdentity oid) |
This callback method is invoked by the <METHOD>Delete</METHOD> method to. More... | |
_.Library.Status | OnAfterPurgeIndices (_.Library.String indexlist) |
This callback method is invoked by the <METHOD>PurgeIndices</METHOD> method after all work is completed. More... | |
_.Library.Status | OnBeforeBuildIndices (_.Library.String indexlist) |
_.Library.Status | OnBeforePurgeIndices (_.Library.String indexlist) |
_.Library.Status | OnDelete (_.Library.ObjectIdentity oid) |
This callback method is invoked by the <METHOD>Delete</METHOD> method to. More... | |
![]() | |
_.Library.String | Help (_.Library.String method) |
This is a helper class that is used by the various SYSTEM classes to provide a Help method. More... | |
Public Attributes | |
Collation | |
Collation of the global. More... | |
DatabaseBlockSize | |
Block size of the database the global is in. More... | |
Directory | |
Directory global is located in. More... | |
Exists | |
Global directory entry exists. More... | |
FirstDataBlock | |
First data block of the global. More... | |
GrowthBlock | |
Growth block for the global. More... | |
IsEmpty | |
Global contains no data. More... | |
IsKeep | |
Keep global directory attributes when deleted. More... | |
Name | |
Name of the global. More... | |
Permission | |
Current permission on the global. More... | |
PointerBlock | |
Top pointer block of the global. More... | |
ResourceName | |
Resource name of the global. More... | |
System | |
System name where global resides. More... | |
Additional Inherited Members | |
![]() | |
XCOMPACTANCESTRY | |
XCOMPACTANCESTRY can be set to a string to replace the value of the %CLASSNAME property (x__classname field) More... | |
DATALOCATIONGLOBAL = None | |
Global name containing master map data for this class. More... | |
DEFAULTGLOBAL = None | |
DSCONDITION = None | |
DSCONDITION is the expression that will be evaluated before deciding whether certain actions must be taken. More... | |
DSINTERVAL = None | |
DSINTERVAL is the number of seconds between one DSTIME value and the next. More... | |
DSTIME = None | |
If the DSTIME parameter is set to AUTO then the most recent filing operation in the current DSTIME value. More... | |
EXTENTQUERYSPEC = None | |
The EXTENTQUERYSPEC parameter defines the properties to be retrieved in. More... | |
EXTENTSIZE = None | |
The EXTENTSIZE parameter is used to inform the SQL Query Optimizer More... | |
GUIDENABLED = None | |
If this parameter is set to 1 then a GUID will be assigned (to the GUID property) to each new object. More... | |
IDENTIFIEDBY = None | |
The IDENTIFIEDBY parameter can optionally be set to the name. More... | |
MANAGEDEXTENT = None | |
The MANAGEDEXTENT parameter can be set to 0 (zero) to cause the Extent Manager. More... | |
READONLY = None | |
READONLY = 1 means that objects can be created, opened but not saved or deleted. More... | |
ROWLEVELSECURITY = None | |
ROWLEVELSECURITY = 1 | <property> means that row level security is active and the list More... | |
SQLPREVENTFULLSCAN = None | |
SQLPREVENTFULLSCAN = 1 means an attempt to prepare a query that will result in a full scan More... | |
STORAGEDEFAULT = None | |
STORAGEDEFAULT defines the default storage allocation to use for properties in this class. More... | |
USEEXTENTSET = None | |
VERSIONCLIENTNAME = None | |
VERSIONCLIENTNAME can be set to a valid CLIENTNAME (see property CLIENTNAME) value. More... | |
VERSIONPROPERTY = None | |
VERSIONPROPERTY = <property> means that the <property> in memory will be compared to. More... | |
![]() | |
DEFAULTCONCURRENCY = None | |
DEFAULTCONCURRENCY is the default value for the concurrency formal argument. More... | |
JOURNALSTREAM = None | |
If OBJJOURNAL is true then the value of the JOURNALSTREAM parameter defines whether or not. More... | |
OBJJOURNAL = None | |
if OBJJOURNAL is TRUE then inserts, updates and deletes will be logged in ^OBJ.JournalT More... | |
![]() | |
CAPTION = None | |
Optional name used by the Form Wizard for a class when generating forms. More... | |
JAVATYPE = None | |
The Java type to be used when exported. | |
PROPERTYVALIDATION = None | |
This parameter controls the default validation behavior for the object. More... | |
_.Library.Status OnNew | ( | _.Library.RawString | initvalue | ) |
This callback method is invoked by the <METHOD>New</METHOD> method to.
provide notification that a new instance of an object is being created.
If this method returns an error then the object will not be created.
_.Library.Status SaveData | ( | _.Library.String | id | ) |
SaveData() - saves an object to disk, checks uniqueness and referential
integrity constraints, and maintains index structures. This method is implemented by the storage class.
Reimplemented from Persistent.
|
static |
This checks the integrity of a single global.
The return value contains information about the global
_.Library.Status CheckIntegrity | ( | _.Library.Boolean | Silent | ) |
This checks the integrity of a global.
The return value contains information about the global
_.Library.Status Compact | ( | _.Library.Integer | PercentFull, |
_.Library.Float | MbProcessed, | ||
_.Library.Float | MbCompressed, | ||
_.Library.Integer | MbToCompress, | ||
_.Library.String | LastGlobalReference | ||
) |
Compact a global.
PercentFull - How full each data page should be, 50-100
MbProcessed - How many MB of the global was processed
MbCompressed - How many MB was it compressed to
MbToCompress - How many MB of the global to compress in this call (0=ALL)
LastGlobalReference - Last reference, "" = completed<br>
Typical useage is as follows, which compacts the data pages to 80full, and returns the amount of data processed, and the size it was compacted to:
s x=##Class(GlobalEdit).Open("X",dbdirectory)
s t=x.Compact(80,.CurrSize,.NewSize)
Note that this function can be called repeatedly for the same global so that it can be done in chunks by using the last two parameters. The following example does 10MB chunks of the global at a time and accumulates and displays a status:
s x=##Class(GlobalEdit).Open("X",dbdirectory)
s TotalCurrSize=0,TotalNewSize=0
do {
s t=x.Compact(80,.CurrSize,.NewSize,10,.LastReference)
s TotalCurrSize=TotalCurrSize+CurrSize
s TotalNewSize=TotalNewSize+NewSize
w !,"Global "_x.Name_" processed="_TotalCurrSize_", compacted to="_TotalNewSize
} while LastReference'=""
|
static |
Compact a global.
See the method Compact for details on parameters.
|
static |
Compare the same global in two different databases.
Parameters: SrcDirectory - Directory where the source nodes are located. DstDirectory - Directory where the destination nodes are located. StartingNode - Node where the compare is started. EndingNode - Node where the compare finishes. "" - (Default) Compare all nodes until end of global. MaxDifferences - Maximum number of differences to return. 0 - (Default) Return all differences. MaxToCompare - 2 Piece comma delimited string as follows: If Flags Bit 3 - Off:"MaxMBToProcess,AverageNodeSize" If MaxMBToProcess is 0, then the method will process the entire range. If MaxMBToProcess is > 0, then the method will return after that number of MB has been processed. If AverageNodeSize is 0, then the MB processed is calculated by adding the length of each node and its data value. If AverageNodeSize is > 0, then the MB processed is calculated by multiplying the number of nodes processed by the AverageNodeSize. This is more accurate. If Flags Bit 3 - On: "MaxNodesToProcess,AverageNodeSize" If MaxNodesToProcess is 0, then the method will process the entire range. If MaxNodesToProcess is > 0, then the method will return after that number of nodes has been processed. If AverageNodeSize is 0, then the MB processed is calculated by adding the length of each node and its data value. If AverageNodeSize is is > 0, then the MB processed is calculated by multiplying the number of nodes processed by the AverageNodeSize. This is more accurate. Flags - Bit string of compare options. Bit 0 - Return Data values Bit 1 - Format Node names using Library.Utility:FormatReference() Bit 2 - Format Data values using Library.Utility:FormatString() Bit 3 - 0 - MaxMBToProcess is passed in MaxToCompare variable 1 - MaxNodesToProcess is passed in MaxToCompare variable Return Values: Status - Return Status of the method. 1) If MaxMBToProcess is > 0, and we have reached the max, the error $$$ERROR($$$MaxMBToCompare) is returned. 2) If MaxNodesToProcess is > 0, and we have reached the max, the error $$$ERROR($$$MaxNodesToCompare) is returned. 3) If MaxDifferences > 0 and we have reached the max, the error $$$ERROR($$$MaxDifferencesReached) is returned. 4) If we have exceeded process storage space ($s) with a large amount of differences, the error $$$ERROR($$$MaxStorageReached) is returned. In these four cases any differences found are returned in the Differences() array. The caller may then call this method again using the returned LastNodeProcessed as the StartingNode to compare the next set of nodes. 5) $$$ERROR($$$DifferencesFound) - The compare completed successfuly, and some differences were found. Results are in the Differences() array. 6) $$$OK - The compare has completed successfully. No differences were found. Differences - Number of differences Differences(0) - $lb(LastNodeProcessed,BlocksChecked,NodesChecked,MBChecked,BlockSize) LastNodeProcessed - Last node processed in the compare. May be used as the StartingNode if the method is called again. Returns "" if at end of range. BlocksChecked - Number of Blocks in the SrcDirectory processed. More accurate if AverageNodeSize is passed. NodesChecked - Number of Nodes in the SrcDirectory processed. MBChecked - Number of MB in the SrcDirectory processed. More accurate if AverageNodeSize is passed. BlockSize - Blocksize of the SrcDirectory Differences(1..x,1) - Global name. Always returned, may be formatted if specified in the Flags parameter. Differences(1..x,2) - Reason for difference 1 - Value is Different 2 - Node is in source but not destination 3 - Node is in destination but not source Differences(1..x,3) - Source data value or "" if source does not exist. Only returned if specified in the Flags parameter. May be formatted if specified in the Flags parameter Differences(1..x,4) - Destination data value or "" if source does not exist. Only returned if specified in the Flags parameter. May be formatted if specified in the Flags parameter]]> Notes: AverageNodeSize should be passed for most accurate values for BlocksChecked and MBChecked values in the Differences(0) return value. AverageNodeSize is returned by the method Library.GetGlobalSizeBySubscript(). See this method for how this value is calculated.
|
static |
Create a global with specified characteristics.
Parameter Namespace can be a namespace or a directory. If it is a namespace global mapping rules will apply.
|
static |
Delete a directory entry for a global if the global does not exist.
This should be called with Switch 10 set if the global is possibly being accessed by users.
Parameters:
Directory - Directory where the global lives.
Global - Name of the global to delete the directory entry for.
Note: You must have write access to the database to delete the directory entry.
|
static |
Return the number of global nodes in the range, and journal sizing information.
This method will return the number of global nodes in the range, and the sizes of data within that range. It will also return information about the amount of journal space which would be used if the range were merged into a different database, or moved via a DataMove operation.
Parameters:
Directory - Directory where global is located.
StartNode - Starting node of global. Note that you can specify ^GLOBAL(BEGIN) to mean the start of the global. This would include ^GLOBAL itself. You can also specify ^GLOBAL("XXX"_$c(1)_"*next)" to mean start counting after global ^GLOBAL("XXX").
EndNode - End Node of global. The returned sizes do not include the EndNode. Note that you can specify ^GLOBAL(END) to mean through the end of the global. An EndNode value of null, or equal to the value of StartNode will return the size of StartNode and all children of StartNode.
Return Values:
The method will return a Status value of success, or an error.
The array Size returns data and estimated journal sizes in both blocks and MB for the specified global range.
If the global does not exist the sizes will all be set to 0. If any error occurs, sizes will not be set.
Size=Number of data nodes
Size("DataSize","Bytes")=Size of global data in bytes
Size("DataSize","MB")=Size of global data in MB
Size("KeySize","Bytes")=Size of global keys in bytes
Size("KeySize","MB")=Size of global keys in MB
Size("TotalNodeSize","Bytes")=Total size of all global data in bytes (Datasize + KeySize)
Size("TotalNodeSize","MB")=Total size of all global data in MB (Datasize + KeySize)
Size("JournalOverHead","Bytes")=Estimate of size of journal overhead in bytes
Size("JournalOverHead","MB")=Estimate of size of journal overhead in MB
Size("TotalJournalSize","Bytes")=Estimate of total journal size in bytes
Size("TotalJournalSize","MB")=Estimate of total journal size in MB<br>
Examples:
Find the counts of global ^DATA
s Status=##Class(GlobalEdit).GetGlobalCountBySubscript("c:\iris\mgr\user\","DATA","",.Size)
Find the counts of global ^DATA("Jones")
s x=##Class(GlobalEdit).GetGlobalCountBySubscript("c:\iris\mgr\user\","DATA(""Jones"")","",.Size)
Find the count of nodes between nodes ^DATA("Jones") up to but not including ^DATA("Smith","zzzzz")
s x=##Class(GlobalEdit).GetGlobalCountBySubscript("c:\iris\mgr\user\","DATA(""Jones"")","DATA(""Smith"",""zzzzz"")",.Size)
Find the count of all the nodes after after node ^X(500)
s x=##Class(GlobalEdit).GetGlobalCountBySubscript("c:\db1\","^X(500"_$c(1)_"*next)","^X(END)",.Size)
Find the count of all the nodes from the beginning of the global up to but not including ^X(500)
s x=##Class(GlobalEdit).GetGlobalCountBySubscript("c:\db1\","^X(BEGIN)","^X(500)",.Size)
|
static |
Get size of this global
'Allocated' - total size, in MB, of blocks allocated for the global.
'Used' - total used data, in MB, for the global.
'fast' - 2 : returns stochastic estimates for both 'Allocated' and 'Used' (fastest option for large globals)
1 : only returns exact 'Allocated' value (avoids reads of data blocks)
0 : returns exact values for both 'Allocated' and 'Used'.
|
static |
Return the size of a global or range of nodes in a global.
This method will return the size of a global based on the number of database blocks the global resides in.
Parameters:
Directory - Directory where global is located.
StartNode - Starting node of global. Note that you can specify ^GLOBAL(BEGIN) to mean the start of the global. This would include ^GLOBAL itself. You can also specify ^GLOBAL("XXX"_$c(1)_"*next)" to mean start counting after global ^GLOBAL("XXX").
EndNode - End Node of global. The returned sizes do not include the EndNode. Note that you can specify ^GLOBAL(END) to mean through the end of the global. An EndNode value of null, or equal to the value of StartNode will return the size of StartNode and all children of StartNode.
Size - Maximum number of MB to count. If the size of the global exceeds this value, calculation stops, and an error is returned. If undefined or set to 0, then the entire range is counted. Be careful to reset this for multiple calls to the method.
Fast - If set and the global is large, this method will attempt a stochastic sample instead of taking an exact measurement. Recommended only for huge quantities of data. Excludes AverageNodeSize and AverageNodesPerPage measurements (sets them to 0).
Return Values:
The method will return a Status value of success, or an error.
The array Size returns the amount of data in both blocks and MB, for each level of the global, as well as the size of big string data, and a total. If the global does not exist the sizes will all be set to 0. If any error occurs, sizes will not be set.
Size=Total size in MB of the global range
Size("Blocks","1")=# Blocks in level 1
Size("Blocks","2")=# Blocks in level 2
Size("Blocks","3")=# Blocks in level 3
Size("Blocks","BigStrings")=# Big String Blocks
Size("Blocks","Total")=Total # Blocks in global range
Size("MB","1")=# MB in level 1
Size("MB","2")=# MB in level 2
Size("MB","3")=# MB in level 3
Size("MB","BigStrings")=# Big String MB
Size("MB","Total")=Total # MB in global range
Size("AverageNodesPerPage")=Average nodes per page (Estimate)
AverageNodesPerPage is calculated as follows:
As each Bottom Pointer block is examined, 10 % of the data nodes pointed to by this pointer block are randomly selected and examined. The number of nodes is accumulated in each selected page and summed together, and the total size of data blocks examined is summed together. When we reach 20GB of data blocks examined, the loop continues, but we only select 2% of the data pages. After we process the last pointer block, The AverageNodesPerPage is calculated by dividing the size of the summed data pages by the number of summed nodes. Size("AverageNodeSize")=Average node size (Estimate)
AverageNodeSize is calculated by first estimating the total number of nodes in the global
TotalNodes = Size("AverageNodesPerPage") * (Size("Blocks","Total")-Size("Blocks","BigStrings"))
We then use the following:
AverageNodeSize=$fn(Size*(1024*1024)/TotalNodes,"",1)
Examples:
Find the size of global ^DATA
s Status=##Class(GlobalEdit).GetGlobalSizeBySubscript("c:\132u1\mgr\user\","DATA","",.Size)
Find the size of data ^DATA("Jones")
s x=##Class(GlobalEdit).GetGlobalSizeBySubscript("c:\132u1\mgr\user\","DATA(""Jones"")","",.Size)
Find the size of data between nodes ^DATA("Jones") up to but not including ^DATA("Smith","zzzzz")
s x=##Class(GlobalEdit).GetGlobalSizeBySubscript("c:\132u1\mgr\user\","DATA(""Jones"")","DATA(""Smith"",""zzzzz"")",.Size)
Find the size of all the data after after node ^X(500)
s x=##Class(GlobalEdit).GetGlobalSizeBySubscript("c:\db1\","^X(500"_$c(1)_"*next)","^X(END)",.Size)
Find the size of all the data from the beginning of the global up to but not including ^X(500)
s x=##Class(GlobalEdit).GetGlobalSizeBySubscript("c:\db1\","^X(BEGIN)","^X(500)",.Size)
|
static |
Kill a subscripted range of a single global in a single database.
This method will kill a range of globals node of a single global in a single database. The starting and ending global name must be the same. When a range is specified, the global is killed from the starting node up to but not including the ending node. The exception to this is if the starting and ending node is the same then that global is killed. The start and end nodes must not contain namespace specifications. Process private globals are not supported. Note that this method ignores all namespace specifications.
Parameters:
Directory - Location of global to kill.
StartingNode - First node of global range to kill. Note that you can specify ^GLOBAL(BEGIN) to mean the start of the global. This includes the global ^GLOBAL itself You can also specify ^GLOBAL("XXX"_$c(1)_"*next)" to mean start deleting after global ^GLOBAL("XXX").
EndingNode - Ending node of global range to kill, up to, but not including this node. Note that you can specify ^GLOBAL(END) to mean through the end of the global.
Return Values:
The method will return a Status value of success, or an error.
Examples:
Kill nodes between ^X(1,5) and ^X(1,50), not including ^X(1,50)
s Status=##Class(GlobalEdit).KillRange("c:\db1\","^X(1,5),"^X(1,50)")
Kill node ^X(500) and all subnodes
s Status=##Class(GlobalEdit).KillRange("c:\db1\","^X(500),"^X(500)")
Kill everything after node ^X(500)
s Status=##Class(GlobalEdit).KillRange("c:\db1\","^X(500"_$c(1)_"*next)","^X(END)")
Kill everything from the beginning of the node up to but not including ^X(500)
s Status=##Class(GlobalEdit).KillRange("c:\db1\","^X(BEGIN)","^X(500)")
_.Library.Status NameSet | ( | _.Library.String | Arg | ) |
Set the Global name.
If prefaced by a "^" strip it off
DatabaseBlockSize |
Block size of the database the global is in.
Directory |
Directory global is located in.
Exists |
Global directory entry exists.
FirstDataBlock |
First data block of the global.
Note referencing this property causes a $D(global) and I/O to occur.
GrowthBlock |
Growth block for the global.
IsEmpty |
Global contains no data.
IsKeep |
Keep global directory attributes when deleted.
Permission |
Current permission on the global.
This is the "RW" value that the process who has this instance open has access to it.
PointerBlock |
Top pointer block of the global.
ResourceName |
Resource name of the global.
System |
System name where global resides.