Skip to main content

%SYS.Journal.Transaction

Class %SYS.Journal.Transaction Extends %Persistent [ StorageStrategy = JournalFileStorage, System = 4 ]

Parameters

READONLY

Parameter READONLY = 1;

Properties

File

Property File As %SYS.Journal.File;

ProcessID

Property ProcessID As %Integer;

TStart

Property TStart As %SYS.Journal.Record;

TStartAddress

Property TStartAddress As %Integer;

TerminationType

Property TerminationType As %String;

Records

Property Records As list Of %SYS.Journal.Record;

Methods

%LoadData

Method %LoadData(id As %String) As %Status [ Private, ProcedureBlock = 1 ]

RetrieveSelectedValues

Method RetrieveSelectedValues(ctpRefs As %Integer, ctpValues As %Integer) As %Status

GetVirtualLocation

ClassMethod GetVirtualLocation() As %String

Returns the virtual location of the TSTART of current transaction, in the form of JournalFileName,JournalFileOffset,JournalFileCount.
Note that the TSTART may be physically located in the next file after journal switches.

GetOpenTx

ClassMethod GetOpenTx(Job As %Integer, ByRef TxInfo As %String) As %Status

Returns the job number of successive processes with open transactions.

GetTxJrnTime

ClassMethod GetTxJrnTime(tjrncnt As %Integer, tjrnoff As %Integer, ByRef timestamp As %Integer) As %Status

Returns the timestamp on the txstart record at journal file index and journal file offset.

GetTxJrnSize

ClassMethod GetTxJrnSize(tjrncnt As %Integer, tjrnoff As %Integer, ByRef tjrnbytes As %Integer) As %Status

Returns the number of bytes from starting journal file offset to current journal file offset.

ListExecute

ClassMethod ListExecute(ByRef qHandle As %Binary, SizeMin As %Integer) As %Status [ Internal ]

Query to get transaction metrics

SizeMin: limit transactions listed to those whose size exceeds this value.

JobNum: job number in pidtab

Pid: job process id

JournalBytes: number of bytes from starting journal file offset to current journal file offset.

JournalFile: full path name of starting journal file.

JournalRef: starting journal file refcount.

StartOffset: byte offset of TStart record in starting journal file.

StartTime: timestamp of the TStart record in $Horolog format

ListFetch

ClassMethod ListFetch(ByRef qHandle As %Binary, ByRef Row As %List, ByRef AtEnd As %Integer = 0) As %Status [ Internal ]

ListClose

ClassMethod ListClose(ByRef qHandle As %Binary) As %Status [ Internal ]