Skip to main content


persistent class %SYS.Journal.Transaction extends %Library.Persistent

SQL Table Name: %SYS_Journal.Transaction

Property Inventory

Method Inventory


parameter READONLY = 1;
Inherited description: READONLY = 1 means that objects can be created, opened but not saved or deleted. Tables are projected to SQL as READONLY.


property File as %SYS.Journal.File [ Required ];
Property methods: FileGet(), FileGetObject(), FileGetObjectId(), FileGetSwizzled(), FileIsValid(), FileNewObject(), FileSet(), FileSetObject(), FileSetObjectId(), FileUnSwizzle()
property ProcessID as %Integer;
Property methods: ProcessIDDisplayToLogical(), ProcessIDGet(), ProcessIDIsValid(), ProcessIDLogicalToDisplay(), ProcessIDNormalize(), ProcessIDSet()
property Records as list of %SYS.Journal.Record;
Property methods: RecordsBuildValueArray(), RecordsCollectionToDisplay(), RecordsCollectionToOdbc(), RecordsDisplayToCollection(), RecordsGet(), RecordsGetObject(), RecordsGetObjectId(), RecordsGetSwizzled(), RecordsIsValid(), RecordsOdbcToCollection(), RecordsSet(), RecordsSetObject(), RecordsSetObjectId()
property TStart as %SYS.Journal.Record [ Required ];
Property methods: TStartGet(), TStartGetObject(), TStartGetObjectId(), TStartGetSwizzled(), TStartIsValid(), TStartNewObject(), TStartSet(), TStartSetObject(), TStartSetObjectId(), TStartUnSwizzle()
property TStartAddress as %Integer;
Property methods: TStartAddressDisplayToLogical(), TStartAddressGet(), TStartAddressIsValid(), TStartAddressLogicalToDisplay(), TStartAddressNormalize(), TStartAddressSet()
property TerminationType as %String;
Property methods: TerminationTypeDisplayToLogical(), TerminationTypeGet(), TerminationTypeIsValid(), TerminationTypeLogicalToDisplay(), TerminationTypeLogicalToOdbc(), TerminationTypeNormalize(), TerminationTypeSet()


classmethod GetOpenTx(Job As %Integer, ByRef TxInfo As %String) as %Status
Returns the job number of successive processes with open transactions.
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.
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.
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.
classmethod ListClose(ByRef qHandle As %Binary) as %Status
classmethod ListExecute(ByRef qHandle As %Binary, SizeMin As %Integer) as %Status
classmethod ListFetch(ByRef qHandle As %Binary, ByRef Row As %List, ByRef AtEnd As %Integer = 0) as %Status
method RetrieveSelectedValues(ctpRefs As %Integer, ctpValues As %Integer) as %Status


query List(SizeMin As %Integer = 0)
Selects JobNum As %String, Pid As %String, JournalBytes As %Integer, JournalFile As %String, JournalRef As %Integer, StartOffset As %String, StartTime As %String
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


index (TranId on File,TStart) [IdKey, Type = key];
Index methods: TranIdCheck(), TranIdDelete(), TranIdExists(), TranIdOpen(), TranIdSQLCheckUnique(), TranIdSQLExists(), TranIdSQLFindPKeyByConstraint(), TranIdSQLFindRowIDByConstraint()

Inherited Members

Inherited Methods

FeedbackOpens in a new tab