Open Exchange
Global Masters
Home / Class Reference / %SYS namespace / %SYS.Journal.Transaction
Private  Storage   


persistent class %SYS.Journal.Transaction extends


Parameters Properties Methods Queries Indices ForeignKeys Triggers
1 6 9 1 1


File ProcessID Records TStart
TStartAddress TerminationType

%AddToSaveSet %AddToSyncSet %BuildIndices %BuildIndicesAsync
%BuildIndicesAsyncResponse %CheckConstraints %CheckConstraintsForExtent %ClassIsLatestVersion
%ClassName %ComposeOid %ConstructClone %Delete
%DeleteExtent %DeleteId %DispatchClassMethod %DispatchGetModified
%DispatchGetProperty %DispatchMethod %DispatchSetModified %DispatchSetMultidimProperty
%DispatchSetProperty %Exists %ExistsId %Extends
%GUID %GUIDSet %GetLock %GetParameter
%GetSwizzleObject %Id %IsA %IsModified
%IsNull %KillExtent %LockExtent %LockId
%New %NormalizeObject %ObjectIsNull %ObjectModified
%Oid %OnBeforeAddToSync %OnDetermineClass %Open
%OpenId %OriginalNamespace %PackageName %PurgeIndices
%Reload %RemoveFromSaveSet %ResolveConcurrencyConflict %RollBack
%Save %SaveDirect %SerializeObject %SetModified
%SortBegin %SortEnd %SyncObjectIn %SyncTransport
%UnlockExtent %UnlockId %ValidateIndices %ValidateObject
GetOpenTx GetTxJrnSize GetTxJrnTime GetVirtualLocation
ListClose ListExecute ListFetch RetrieveSelectedValues


• parameter READONLY = 1;
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;
• property ProcessID as %Integer;
• property Records as list of %SYS.Journal.Record;
• property TStart as %SYS.Journal.Record;
• property TStartAddress as %Integer;
• property TerminationType as %String;


• 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];