Interface WriteableTransaction
- All Superinterfaces:
ReadableTransaction
Represents a writeable transaction on a storage engine.
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.opends.server.backends.pluggable.spi.ReadableTransaction
ReadableTransaction.ReadOption
-
Method Summary
Modifier and TypeMethodDescriptiondefault void
createTreeIfAbsent
(TreeName name) Ensures that the tree identified by the provided name exists, creating it if it does not.default boolean
delete
(TreeName treeName, ByteString key) Deletes the record with the provided key, in the tree whose name is provided.default void
deleteTree
(TreeName name) Deletes the tree identified by the provided name if it exists.default void
put
(TreeName treeName, ByteString key, ByteString value) Adds a record with the provided key and value, replacing any existing record having the same key.default boolean
update
(TreeName treeName, ByteString key, UpdateFunction f) Atomically adds, deletes, or replaces a record with the provided key according to the new value computed by the update function.Methods inherited from interface org.opends.server.backends.pluggable.spi.ReadableTransaction
getRecordCount, openCursor, read
-
Method Details
-
createTreeIfAbsent
Ensures that the tree identified by the provided name exists, creating it if it does not.- Parameters:
name
- the tree name- Throws:
ReadOnlyStorageException
- If the tree specified by the name does not exist and cannot be created as a result of the underlying storage being opened in read-only mode.- See Also:
-
deleteTree
Deletes the tree identified by the provided name if it exists. Otherwise, do nothing.- Parameters:
name
- the tree name- Throws:
ReadOnlyStorageException
- if the underlying storage has been opened in read-only mode.- See Also:
-
put
Adds a record with the provided key and value, replacing any existing record having the same key.- Parameters:
treeName
- the tree name. If the tree does not exist, it will be created.key
- the key of the new recordvalue
- the value of the new record- Throws:
ReadOnlyStorageException
- if the underlying storage has been opened in read-only mode.- See Also:
-
update
Atomically adds, deletes, or replaces a record with the provided key according to the new value computed by the update function.- Parameters:
treeName
- the tree name. If the tree does not exist, it will be created.key
- the key of the new recordf
- the update function- Returns:
true
if an update was performed,false
otherwise- Throws:
ReadOnlyStorageException
- if the underlying storage has been opened in read-only mode.- See Also:
-
delete
Deletes the record with the provided key, in the tree whose name is provided.- Parameters:
treeName
- the tree name. If the tree does not exist, it will be created.key
- the key of the record to delete- Returns:
true
if the record could be deleted,false
otherwise- Throws:
ReadOnlyStorageException
- if the underlying storage has been opened in read-only mode.- See Also:
-