persistent class %SYS.Journal.Transaction extends


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


%Concurrency File ProcessID Records
TStart TStartAddress TerminationType

%%OIDGet %1Check %AddJrnObjToSyncSet %AddToSaveSet
%AddToSyncSet %BMEBuilt %BindExport %BuildIndices
%BuildIndicesAsync %BuildIndicesAsyncResponse %BuildObjectGraph %CheckConstraints
%CheckConstraintsForExtent %ClassIsLatestVersion %ClassName %Close
%ComposeOid %ConstructClone %Delete %DeleteExtent
%DeleteId %DispatchClassMethod %DispatchGetModified %DispatchGetProperty
%DispatchMethod %DispatchSetModified %DispatchSetMultidimProperty %DispatchSetProperty
%DowngradeConcurrency %ExecuteAfterTriggers %ExecuteBeforeTriggers %Exists
%ExistsId %Extends %FileIndices %GUID
%GUIDSet %GetLock %GetParameter %GetSwizzleObject
%Id %IncrementCount %IsA %IsModified
%IsNull %JournalObject %KillExtent %LockExtent
%LockId %New %NormalizeObject %ObjectIsNull
%ObjectModified %Oid %OnBeforeAddToSync %OnDetermineClass
%Open %OpenId %OriginalNamespace %PackageName
%PurgeIndices %Reload %RemoveFromSaveSet %ResolveConcurrencyConflict
%RollBack %SQLAcquireLock %SQLAcquireTableLock %SQLAfterTriggers
%SQLBeforeTriggers %SQLBuildIndices %SQLBuildPurgeIndexForRow %SQLBuildPurgeIndices
%SQLCheckUnique %SQLCheckUniqueIndices %SQLCheckUniqueKeys %SQLCopyIcolIntoName
%SQLCopyNameIntoIcol %SQLCreateInsDelTables %SQLDefineiDjVars %SQLDelete
%SQLDeleteChildren %SQLDeleteTempStreams %SQLEExit %SQLExists
%SQLFKeyDelLock %SQLFastInsert %SQLFieldValidate %SQLGetLock
%SQLGetOld %SQLGetOldAll %SQLGetOldIndex %SQLInsert
%SQLInsertComputes %SQLInsertStreams %SQLInvalid %SQLInvalid2
%SQLMVDelete %SQLMVIndexDelete %SQLMVIndexInsert %SQLMVIndexUpdate
%SQLMVInsert %SQLMVUpdate %SQLMissing %SQLNormalizeCompFields
%SQLNormalizeFields %SQLPurgeIndices %SQLQuickBulkInsert %SQLQuickBulkLoad
%SQLQuickBulkSave %SQLQuickBulkUpdate %SQLQuickDelete %SQLQuickDeleteChildren
%SQLQuickFindPKeyByRowID %SQLQuickFindRowIDByPKey %SQLQuickInsert %SQLQuickLoad
%SQLQuickLoadChildren %SQLQuickLogicalToOdbc %SQLQuickOdbcToLogical %SQLQuickUpdate
%SQLReleaseLock %SQLReleaseTableLock %SQLStorageValidation %SQLTrigDelTab
%SQLTrigInsTab %SQLUnlock %SQLUnlock2 %SQLUnlockError
%SQLUnlockRef %SQLUpdate %SQLUpdateComputes %SQLUpdateStreams
%SQLValidateCompFields %SQLValidateFields %SQLicompView %SQLnBuild
%Save %SaveDirect %SaveIndices %SerializeObject
%SetModified %SortBegin %SortEnd %SyncObjectIn
%SyncTransport %UnlockExtent %UnlockId %UpgradeConcurrency
%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;


• private method %LoadData(id As %String) as %Status
%LoadData() - loads an object from storage. This method is implemented by the storage class.
• 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];
Copyright © 1997-2020 InterSystems Corporation, Cambridge, MA