public class OptimisticTransactionSession extends TransactionSession
TransactionSession
class to include optimistic transaction semantics. In RocksDb an OptimisticTransactionDB
instance contains the transaction classes and methods to provide atomicity.
Transactions are linked to a OptimisticTransactionDb, a subclass of RocksDB. Each transaction may be named,
and the name must be unique. To enforce uniqueness considering these constraints, the name
formed will be a concatenation of Transaction Id, which is a UUID, the class name, which is also
a column family or the default column family, and the Alias, or none, which is the default database path.
From the TransactionManager
we link the transaction Id's to an instance of this and associated transaction.
Constructor and Description |
---|
OptimisticTransactionSession(org.rocksdb.OptimisticTransactionDB kvStore,
org.rocksdb.Options options,
java.util.ArrayList<org.rocksdb.ColumnFamilyDescriptor> columnFamilyDescriptor,
java.util.List<org.rocksdb.ColumnFamilyHandle> columnFamilyHandles) |
Modifier and Type | Method and Description |
---|---|
org.rocksdb.Transaction |
BeginTransaction()
Initiate a transaction.
|
BeginTransaction, getAllPreparedTransactions, getLockStatusData, getTransaction, isTransactionLinked, linkSessionAndTransaction, toString
public OptimisticTransactionSession(org.rocksdb.OptimisticTransactionDB kvStore, org.rocksdb.Options options, java.util.ArrayList<org.rocksdb.ColumnFamilyDescriptor> columnFamilyDescriptor, java.util.List<org.rocksdb.ColumnFamilyHandle> columnFamilyHandles)
public org.rocksdb.Transaction BeginTransaction()
BeginTransaction
in class TransactionSession