org.h2.mvstore.db
Class TransactionStore

java.lang.Object
  extended by org.h2.mvstore.db.TransactionStore

public class TransactionStore
extends java.lang.Object

A store that supports concurrent transactions.


Nested Class Summary
static class TransactionStore.ArrayType
          A data type that contains an array of objects with the specified data types.
static class TransactionStore.Change
          A change in a map.
static class TransactionStore.Transaction
          A transaction.
static class TransactionStore.TransactionMap<K,V>
          A map that supports transactions.
static class TransactionStore.VersionedValueType
          The value type for a versioned value.
 
Constructor Summary
TransactionStore(MVStore store)
          Create a new transaction store.
TransactionStore(MVStore store, DataType dataType)
          Create a new transaction store.
 
Method Summary
 TransactionStore.Transaction begin()
          Begin a new transaction.
 void close()
          Close the transaction store.
 java.util.List<TransactionStore.Transaction> getOpenTransactions()
          Get the list of unclosed transactions that have pending writes.
 void logUndo(TransactionStore.Transaction t, long logId)
          Remove a log entry.
 void setMaxTransactionId(int max)
          Set the maximum transaction id, after which ids are re-used.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TransactionStore

public TransactionStore(MVStore store)
Create a new transaction store.

Parameters:
store - the store

TransactionStore

public TransactionStore(MVStore store,
                        DataType dataType)
Create a new transaction store.

Parameters:
store - the store
dataType - the data type for map keys and values
Method Detail

setMaxTransactionId

public void setMaxTransactionId(int max)
Set the maximum transaction id, after which ids are re-used. If the old transaction is still in use when re-using an old id, the new transaction fails.

Parameters:
max - the maximum id

getOpenTransactions

public java.util.List<TransactionStore.Transaction> getOpenTransactions()
Get the list of unclosed transactions that have pending writes.

Returns:
the list of transactions (sorted by id)

close

public void close()
Close the transaction store.


begin

public TransactionStore.Transaction begin()
Begin a new transaction.

Returns:
the transaction

logUndo

public void logUndo(TransactionStore.Transaction t,
                    long logId)
Remove a log entry.

Parameters:
t - the transaction
logId - the log id