Class Reference
IRIS for UNIX 2019.2
InterSystems: The power behind what matters   
Documentation  Search
  [%SYS] >  [%SYS] >  [Journal] >  [Transaction]
Private  Storage   

persistent class %SYS.Journal.Transaction extends %Persistent


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
%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 (c) 2019 by InterSystems Corporation. Cambridge, Massachusetts, U.S.A. All rights reserved. Confidential property of InterSystems Corporation.