Top Description Fields Constructors Methods
org.hsqldb

public Class TransactionManagerMV2PL

extends TransactionManagerCommon
implements TransactionManager
Class Inheritance
All Implemented Interfaces
org.hsqldb.TransactionManager
Imports
org.hsqldb.error.Error, .ErrorCode, org.hsqldb.lib.HsqlDeque, .LongDeque, org.hsqldb.persist.PersistentStore

Manages rows involved in transactions
Author
Fred Toussi (fredt@users dot sourceforge.net)
Since
2.0.0
Version
2.7.3

Field Summary

Modifier and TypeField and Description
pack-priv HsqlDeque<RowAction[]>
pack-priv LongDeque
Inherited from org.hsqldb.TransactionManagerCommon:
catalogNameListdatabasehasExpiredliveTransactionSCNslobSessionlocksystemChangeNumbertableReadLockstableWriteLockstransactionCounttxModelwriteLock

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
public RowAction
addDeleteAction(Session session, Table table, PersistentStore store, Row row, int[] changedColumns)

Implements org.hsqldb.TransactionManager.addDeleteAction.

public void
addInsertAction(Session session, Table table, PersistentStore store, Row row, int[] changedColumns)

Implements org.hsqldb.TransactionManager.addInsertAction.

pack-priv void
addToCommittedQueue(Session session, RowAction[] list)

add a list of actions to the end of queue

public void
beginAction(Session session, Statement cs)

Implements org.hsqldb.TransactionManager.beginAction.

add session to the end of queue when a transaction starts (depending on isolation mode)

public void
beginActionResume(Session session)

Implements org.hsqldb.TransactionManager.beginActionResume.

add session to the end of queue when a transaction starts (depending on isolation mode)

public void
public boolean
canRead(Session session, PersistentStore store, Row row, int mode, int[] colMap)

public boolean
public void
private void
endTransaction(Session session)

remove session from queue when a transaction ends and expire any committed transactions that are no longer required.

public long
public int
public boolean
public boolean
public boolean
pack-priv void
mergeExpiredTransactions(Session session)

expire all committed transactions that are no longer in scope

public boolean
public void
resetSession(Session session, Session targetSession, long statementTimestamp, int mode)

Overrides org.hsqldb.TransactionManagerCommon.resetSession.

Implements org.hsqldb.TransactionManager.resetSession.

public void
public void
public void
rollbackPartial(Session session, int start, long timestamp)

Implements org.hsqldb.TransactionManager.rollbackPartial.

rollback the row actions from start index in list and the given timestamp

public void
public void
public void
Inherited from org.hsqldb.TransactionManagerCommon:
abortActionadjustLobUsagebeginTransactionCommoncheckDeadlockcheckDeadlockendActionTPLendTransactionTPLfinaliseRowsgetFirstLiveTransactionTimestampgetNextSystemChangeNumbergetRowActionListgetTransactionAndPreSessionsgetTransactionSessionshasLockslockTablesTPLmergeTransactionpersistCommitprepareResetresetLatchesresetLatchesMidTransactionresetLockssetWaitedSessionsTPLsetWaitingSessionTPLunlockReadTablesTPLunlockTablesTPLupdateCurrentStatement

Field Detail

committedTransactionsback to summary
pack-priv HsqlDeque<RowAction[]> committedTransactions
committedTransactionSCNsback to summary
pack-priv LongDeque committedTransactionSCNs

Constructor Detail

TransactionManagerMV2PLback to summary
public TransactionManagerMV2PL(Database db)

Method Detail

addDeleteActionback to summary
public RowAction addDeleteAction(Session session, Table table, PersistentStore store, Row row, int[] changedColumns)

Implements org.hsqldb.TransactionManager.addDeleteAction.

addInsertActionback to summary
public void addInsertAction(Session session, Table table, PersistentStore store, Row row, int[] changedColumns)

Implements org.hsqldb.TransactionManager.addInsertAction.

addToCommittedQueueback to summary
pack-priv void addToCommittedQueue(Session session, RowAction[] list)

add a list of actions to the end of queue

beginActionback to summary
public void beginAction(Session session, Statement cs)

Implements org.hsqldb.TransactionManager.beginAction.

add session to the end of queue when a transaction starts (depending on isolation mode)

beginActionResumeback to summary
public void beginActionResume(Session session)

Implements org.hsqldb.TransactionManager.beginActionResume.

add session to the end of queue when a transaction starts (depending on isolation mode)

beginTransactionback to summary
public void beginTransaction(Session session)

Implements org.hsqldb.TransactionManager.beginTransaction.

canReadback to summary
public boolean canRead(Session session, PersistentStore store, Row row, int mode, int[] colMap)
commitTransactionback to summary
public boolean commitTransaction(Session session)

Implements org.hsqldb.TransactionManager.commitTransaction.

completeActionsback to summary
public void completeActions(Session session)

Implements org.hsqldb.TransactionManager.completeActions.

endTransactionback to summary
private void endTransaction(Session session)

remove session from queue when a transaction ends and expire any committed transactions that are no longer required. remove transactions ended before the first timestamp in liveTransactionsSession queue

getSystemChangeNumberback to summary
public long getSystemChangeNumber()

Implements org.hsqldb.TransactionManager.getSystemChangeNumber.

getTransactionControlback to summary
public int getTransactionControl()

Implements org.hsqldb.TransactionManager.getTransactionControl.

is2PLback to summary
public boolean is2PL()

Implements org.hsqldb.TransactionManager.is2PL.

isMVCCback to summary
public boolean isMVCC()

Implements org.hsqldb.TransactionManager.isMVCC.

isMVRowsback to summary
public boolean isMVRows()

Implements org.hsqldb.TransactionManager.isMVRows.

mergeExpiredTransactionsback to summary
pack-priv void mergeExpiredTransactions(Session session)

expire all committed transactions that are no longer in scope

prepareCommitActionsback to summary
public boolean prepareCommitActions(Session session)

Implements org.hsqldb.TransactionManager.prepareCommitActions.

resetSessionback to summary
public void resetSession(Session session, Session targetSession, long statementTimestamp, int mode)

Overrides org.hsqldb.TransactionManagerCommon.resetSession.

Implements org.hsqldb.TransactionManager.resetSession.

rollbackback to summary
public void rollback(Session session)

Implements org.hsqldb.TransactionManager.rollback.

rollbackActionback to summary
public void rollbackAction(Session session)

Implements org.hsqldb.TransactionManager.rollbackAction.

rollbackPartialback to summary
public void rollbackPartial(Session session, int start, long timestamp)

Implements org.hsqldb.TransactionManager.rollbackPartial.

rollback the row actions from start index in list and the given timestamp

rollbackSavepointback to summary
public void rollbackSavepoint(Session session, int index)

Implements org.hsqldb.TransactionManager.rollbackSavepoint.

setSystemChangeNumberback to summary
public void setSystemChangeNumber(long ts)

Implements org.hsqldb.TransactionManager.setSystemChangeNumber.

setTransactionControlback to summary
public void setTransactionControl(Session session, int mode)

Overrides org.hsqldb.TransactionManagerCommon.setTransactionControl.

Implements org.hsqldb.TransactionManager.setTransactionControl.