Operating system process id for the process which created the journal record.
This is calculated by taking the jobid stored in the journal record and
looking up the corresponding process id in a translation table maintained by
the system. If the process id cannot be calculated, the jobid with the string
"(jid") appended is returned.
Provides an analysis of the activity for global records in a journal file.
Records are counted by type and the amount of activity for each global is
calculated as a percentage of the total for that record type.
The output is written to the current device.
Parameters are:
File - Journal file to count (by default the current journal file)
Sort - By default the counts for all types of global journal records
are kept individually. You may have the counts grouped as general SET or KILL
records by entering the 'Sort' parameter as 'GROUP'.
Return the address of a valid record that is nearest to and >= (or <= if Before=1) the given offset; 0 if no such a record
classmethod GetPhysicalLocation(ByRef Offset As %Integer, ByRef FileName As %String) as %Status
Return the physical location of a record, given by Offset and Filename, in Offset and FileName.
The virtual and physical locations of a record may differ due to a journal switch.
The API assumes a %SYS.Journal.System.Sync() has been issued to commit the journal record in question to disk
classmethod GetRealPIDSYSinFilter(jidsys As %String, ByRef ecpsysid As %Integer) as %String
[For use in a journal restore filter or shadow filter (^ZJRNFILT) only] Given a comma-delimited string of jid (job id) and remsysid that is passed to the user-specified filter, return the real pid (if available) and ECP system id (if any).
Given an address in the currently open journal file, read the
jobid from the journal record and translate this to an operating
system process id using the jobid->pid translation table. Returns
the corresponding pid or "<jobid>(jid)" if the pid cannot be
determined.
Returns a list of journal records.
Comparable (pseudo-)SQL statement:
SELECT Columns FROM FileName WHERE Offsets... AND Match(Column)...
Parameters:
FileName
Full path of the journal file
Columns
(Optional) Names of the selected columns as either a comma-delimited string or an array with column names being the keys.
If unspecified or given as "*", all available columns are returned.
Note: Availability of a column depends on the type of a record and other circumstances. For example, the "OldValue" column applies to only some SET or KILL records (SetKillRecord or derived)
Offsets
(Optional) An array of the addresses of the selected records.
Independently, the top node gives the offset to begin listing records with. When combined with the ReverseOrder parameter, this limits the records to those with Address > Offsets (if ReverseOrder is 0 or not specified) or Address < Offsets (if ReverseOrder is 1)
ReverseOrder
(Optional) If 1, list records in the reverse order of their addresses.
Match
(Optional) A LIST string to select records whose value in a certain column meets a certain criterion.
The string consists of three elements:
To retrieve all available info about all records in current journal file,
s rs=##class(%ResultSet).%New("%SYS.Journal.Record:List")
s jrnf=##class(%SYS.Journal.System).GetCurrentFileName()
w rs.Execute(jrnf)
To retrieve selected columns of the records located before journal offset 160000 (i.e., Address < 160000),
w rs.Execute(jrnf,"Address,Type,GlobalNode",160000,1)
Note that while the columns "Address" and "Type" are available for all records, the "GlobalNode" column is available for SET or KILL records (of class type SetKillRecord or its derived classes) only.
To retrieve all available columns of records involving the ^SYS global (but not its subnode),
w rs.Execute(jrnf,,,,$lb("GlobalNode","=","SYS"))
Indexes
index (IDKEY on ) [IdKey, Type = key];
Index methods: IDKEYCheck(), IDKEYDelete(), IDKEYExists(), IDKEYOpen(), IDKEYSQLCheckUnique(), IDKEYSQLExists(), IDKEYSQLFindPKeyByConstraint(), IDKEYSQLFindRowIDByConstraint()