Struct ckb_rocksdb::OptimisticTransaction
source · pub struct OptimisticTransaction { /* private fields */ }
Implementations§
source§impl OptimisticTransaction
impl OptimisticTransaction
sourcepub fn rollback_to_savepoint(&self) -> Result<(), Error>
pub fn rollback_to_savepoint(&self) -> Result<(), Error>
Transaction rollback to savepoint
sourcepub fn set_savepoint(&self)
pub fn set_savepoint(&self)
Set savepoint for transaction
sourcepub fn snapshot(&self) -> OptimisticTransactionSnapshot<'_>
pub fn snapshot(&self) -> OptimisticTransactionSnapshot<'_>
Get Snapshot
sourcepub fn get_for_update<K: AsRef<[u8]>>(
&self,
key: K
) -> Result<Option<DBVector>, Error>
pub fn get_for_update<K: AsRef<[u8]>>( &self, key: K ) -> Result<Option<DBVector>, Error>
Get For Update ReadOptions: Default exclusive: true
sourcepub fn get_for_update_opt<K: AsRef<[u8]>>(
&self,
key: K,
readopts: &ReadOptions,
exclusive: bool
) -> Result<Option<DBVector>, Error>
pub fn get_for_update_opt<K: AsRef<[u8]>>( &self, key: K, readopts: &ReadOptions, exclusive: bool ) -> Result<Option<DBVector>, Error>
Get For Update with custom ReadOptions and exclusive
pub fn get_for_update_cf<K: AsRef<[u8]>>( &self, cf: &ColumnFamily, key: K ) -> Result<Option<DBVector>, Error>
pub fn get_for_update_cf_opt<K: AsRef<[u8]>>( &self, cf: &ColumnFamily, key: K, readopts: &ReadOptions, exclusive: bool ) -> Result<Option<DBVector>, Error>
Trait Implementations§
source§impl DeleteCF<()> for OptimisticTransaction
impl DeleteCF<()> for OptimisticTransaction
fn delete_cf_full<K>( &self, cf: Option<&ColumnFamily>, key: K, _: Option<&()> ) -> Result<(), Error>where K: AsRef<[u8]>,
fn delete_cf<K>(&self, cf: &ColumnFamily, key: K) -> Result<(), Error>where K: AsRef<[u8]>,
fn put_cf_opt<K>( &self, cf: &ColumnFamily, key: K, writeopts: &W ) -> Result<(), Error>where K: AsRef<[u8]>,
source§impl Drop for OptimisticTransaction
impl Drop for OptimisticTransaction
source§impl GetCF<ReadOptions> for OptimisticTransaction
impl GetCF<ReadOptions> for OptimisticTransaction
fn get_cf_full<K: AsRef<[u8]>>( &self, cf: Option<&ColumnFamily>, key: K, readopts: Option<&ReadOptions> ) -> Result<Option<DBVector>, Error>
fn get_cf<K: AsRef<[u8]>>( &self, cf: &ColumnFamily, key: K ) -> Result<Option<DBVector>, Error>
fn get_cf_opt<K: AsRef<[u8]>>( &self, cf: &ColumnFamily, key: K, readopts: &R ) -> Result<Option<DBVector>, Error>
source§impl<'a> GetPinnedCF<'a> for OptimisticTransaction
impl<'a> GetPinnedCF<'a> for OptimisticTransaction
type ColumnFamily = &'a ColumnFamily
type ReadOptions = &'a ReadOptions
source§fn get_pinned_cf_full<K: AsRef<[u8]>>(
&'a self,
cf: Option<Self::ColumnFamily>,
key: K,
readopts: Option<Self::ReadOptions>
) -> Result<Option<DBPinnableSlice<'a>>, Error>
fn get_pinned_cf_full<K: AsRef<[u8]>>( &'a self, cf: Option<Self::ColumnFamily>, key: K, readopts: Option<Self::ReadOptions> ) -> Result<Option<DBPinnableSlice<'a>>, Error>
Return the value associated with a key using RocksDB’s PinnableSlice
so as to avoid unnecessary memory copy.
source§fn get_pinned_cf<K: AsRef<[u8]>>(
&'a self,
cf: Self::ColumnFamily,
key: K
) -> Result<Option<DBPinnableSlice<'a>>, Error>
fn get_pinned_cf<K: AsRef<[u8]>>( &'a self, cf: Self::ColumnFamily, key: K ) -> Result<Option<DBPinnableSlice<'a>>, Error>
Return the value associated with a key using RocksDB’s PinnableSlice
so as to avoid unnecessary memory copy.
source§fn get_pinned_cf_opt<K: AsRef<[u8]>>(
&'a self,
cf: Self::ColumnFamily,
key: K,
readopts: Self::ReadOptions
) -> Result<Option<DBPinnableSlice<'a>>, Error>
fn get_pinned_cf_opt<K: AsRef<[u8]>>( &'a self, cf: Self::ColumnFamily, key: K, readopts: Self::ReadOptions ) -> Result<Option<DBPinnableSlice<'a>>, Error>
Return the value associated with a key using RocksDB’s PinnableSlice
so as to avoid unnecessary memory copy.
source§impl Handle<rocksdb_transaction_t> for OptimisticTransaction
impl Handle<rocksdb_transaction_t> for OptimisticTransaction
fn handle(&self) -> *mut rocksdb_transaction_t
source§impl Iterate for OptimisticTransaction
impl Iterate for OptimisticTransaction
fn get_raw_iter<'a: 'b, 'b>( &'a self, readopts: &ReadOptions ) -> DBRawIterator<'b>
fn get_iter<'a: 'b, 'b>( &'a self, readopts: &ReadOptions, mode: IteratorMode<'_> ) -> DBIterator<'b> ⓘ
fn iterator_opt<'a: 'b, 'b>( &'a self, mode: IteratorMode<'_>, readopts: &ReadOptions ) -> DBIterator<'b> ⓘ
fn iterator<'a: 'b, 'b>(&'a self, mode: IteratorMode<'_>) -> DBIterator<'b> ⓘ
source§fn full_iterator<'a: 'b, 'b>(&'a self, mode: IteratorMode<'_>) -> DBIterator<'b> ⓘ
fn full_iterator<'a: 'b, 'b>(&'a self, mode: IteratorMode<'_>) -> DBIterator<'b> ⓘ
Opens an interator with
set_total_order_seek
enabled.
This must be used to iterate across prefixes when set_memtable_factory
has been called
with a Hash-based implementation.fn prefix_iterator<'a: 'b, 'b>(&'a self, prefix: &[u8]) -> DBIterator<'b> ⓘ
fn raw_iterator<'a: 'b, 'b>(&'a self) -> DBRawIterator<'b>
source§impl IterateCF for OptimisticTransaction
impl IterateCF for OptimisticTransaction
fn get_raw_iter_cf<'a: 'b, 'b>( &'a self, cf_handle: &ColumnFamily, readopts: &ReadOptions ) -> Result<DBRawIterator<'b>, Error>
fn get_iter_cf<'a: 'b, 'b>( &'a self, cf_handle: &ColumnFamily, readopts: &ReadOptions, mode: IteratorMode<'_> ) -> Result<DBIterator<'b>, Error>
source§fn iterator_cf_opt<'a: 'b, 'b>(
&'a self,
cf_handle: &ColumnFamily,
mode: IteratorMode<'_>,
readopts: &ReadOptions
) -> Result<DBIterator<'b>, Error>
fn iterator_cf_opt<'a: 'b, 'b>( &'a self, cf_handle: &ColumnFamily, mode: IteratorMode<'_>, readopts: &ReadOptions ) -> Result<DBIterator<'b>, Error>
Opens an interator using the provided ReadOptions.
This is used when you want to iterate over a specific ColumnFamily with a modified ReadOptions
fn iterator_cf<'a: 'b, 'b>( &'a self, cf_handle: &ColumnFamily, mode: IteratorMode<'_> ) -> Result<DBIterator<'b>, Error>
fn full_iterator_cf<'a: 'b, 'b>( &'a self, cf_handle: &ColumnFamily, mode: IteratorMode<'_> ) -> Result<DBIterator<'b>, Error>
fn prefix_iterator_cf<'a: 'b, 'b>( &'a self, cf_handle: &ColumnFamily, prefix: &[u8] ) -> Result<DBIterator<'b>, Error>
fn raw_iterator_cf<'a: 'b, 'b>( &'a self, cf_handle: &ColumnFamily ) -> Result<DBRawIterator<'b>, Error>
source§impl MergeCF<()> for OptimisticTransaction
impl MergeCF<()> for OptimisticTransaction
fn merge_cf_full<K, V>( &self, cf: Option<&ColumnFamily>, key: K, value: V, _: Option<&()> ) -> Result<(), Error>where K: AsRef<[u8]>, V: AsRef<[u8]>,
fn merge_cf<K, V>( &self, cf: &ColumnFamily, key: K, value: V ) -> Result<(), Error>where K: AsRef<[u8]>, V: AsRef<[u8]>,
fn merge_cf_opt<K, V>( &self, cf: &ColumnFamily, key: K, value: V, writeopts: &W ) -> Result<(), Error>where K: AsRef<[u8]>, V: AsRef<[u8]>,
source§impl MultiGet<ReadOptions> for OptimisticTransaction
impl MultiGet<ReadOptions> for OptimisticTransaction
fn multi_get_full<K, I>( &self, keys: I, readopts: Option<&ReadOptions> ) -> Vec<Result<Option<DBVector>, Error>>where K: AsRef<[u8]>, I: IntoIterator<Item = K>,
fn multi_get<K, I>(&self, keys: I) -> Vec<Result<Option<DBVector>, Error>>where K: AsRef<[u8]>, I: IntoIterator<Item = K>,
fn multi_get_opt<K, I>( &self, keys: I, readopts: &R ) -> Vec<Result<Option<DBVector>, Error>>where K: AsRef<[u8]>, I: IntoIterator<Item = K>,
source§impl MultiGetCF<ReadOptions> for OptimisticTransaction
impl MultiGetCF<ReadOptions> for OptimisticTransaction
fn multi_get_cf_full<'a, K, I>( &self, keys: I, readopts: Option<&ReadOptions> ) -> Vec<Result<Option<DBVector>, Error>>where K: AsRef<[u8]>, I: IntoIterator<Item = (&'a ColumnFamily, K)>,
fn multi_get_cf<'a, K, I>( &self, keys_cf: I ) -> Vec<Result<Option<DBVector>, Error>>where K: AsRef<[u8]>, I: IntoIterator<Item = (&'a ColumnFamily, K)>,
fn multi_get_cf_opt<'a, K, I>( &self, keys_cf: I, readopts: &R ) -> Vec<Result<Option<DBVector>, Error>>where K: AsRef<[u8]>, I: IntoIterator<Item = (&'a ColumnFamily, K)>,
source§impl PutCF<()> for OptimisticTransaction
impl PutCF<()> for OptimisticTransaction
fn put_cf_full<K, V>( &self, cf: Option<&ColumnFamily>, key: K, value: V, _: Option<&()> ) -> Result<(), Error>where K: AsRef<[u8]>, V: AsRef<[u8]>,
fn put_cf<K, V>(&self, cf: &ColumnFamily, key: K, value: V) -> Result<(), Error>where K: AsRef<[u8]>, V: AsRef<[u8]>,
fn put_cf_opt<K, V>( &self, cf: &ColumnFamily, key: K, value: V, writeopts: &W ) -> Result<(), Error>where K: AsRef<[u8]>, V: AsRef<[u8]>,
impl Read for OptimisticTransaction
impl Send for OptimisticTransaction
impl Sync for OptimisticTransaction
Auto Trait Implementations§
impl RefUnwindSafe for OptimisticTransaction
impl Unpin for OptimisticTransaction
impl UnwindSafe for OptimisticTransaction
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T, W> Delete<W> for Twhere
T: DeleteCF<W>,
impl<T, W> Delete<W> for Twhere T: DeleteCF<W>,
fn delete_full<K>(&self, key: K, writeopts: Option<&W>) -> Result<(), Error>where K: AsRef<[u8]>,
source§fn delete<K>(&self, key: K) -> Result<(), Error>where
K: AsRef<[u8]>,
fn delete<K>(&self, key: K) -> Result<(), Error>where K: AsRef<[u8]>,
Remove the database entry for key. Read more
fn delete_opt<K>(&self, key: K, writeopts: &W) -> Result<(), Error>where K: AsRef<[u8]>,
source§impl<T, R> Get<R> for Twhere
T: GetCF<R>,
impl<T, R> Get<R> for Twhere T: GetCF<R>,
fn get_full<K>( &self, key: K, readopts: Option<&R> ) -> Result<Option<DBVector>, Error>where K: AsRef<[u8]>,
source§fn get<K: AsRef<[u8]>>(&self, key: K) -> Result<Option<DBVector>, Error>
fn get<K: AsRef<[u8]>>(&self, key: K) -> Result<Option<DBVector>, Error>
Return the bytes associated with a key value
fn get_opt<K: AsRef<[u8]>>( &self, key: K, readopts: &R ) -> Result<Option<DBVector>, Error>
source§impl<'a, T, R> GetPinned<'a> for Twhere
T: GetPinnedCF<'a, ReadOptions = R>,
impl<'a, T, R> GetPinned<'a> for Twhere T: GetPinnedCF<'a, ReadOptions = R>,
type ReadOptions = R
source§fn get_pinned_full<K>(
&'a self,
key: K,
readopts: Option<<T as GetPinned<'a>>::ReadOptions>
) -> Result<Option<DBPinnableSlice<'a>>, Error>where
K: AsRef<[u8]>,
fn get_pinned_full<K>( &'a self, key: K, readopts: Option<<T as GetPinned<'a>>::ReadOptions> ) -> Result<Option<DBPinnableSlice<'a>>, Error>where K: AsRef<[u8]>,
Return the value associated with a key using RocksDB’s PinnableSlice
so as to avoid unnecessary memory copy.
source§fn get_pinned<K: AsRef<[u8]>>(
&'a self,
key: K
) -> Result<Option<DBPinnableSlice<'a>>, Error>
fn get_pinned<K: AsRef<[u8]>>( &'a self, key: K ) -> Result<Option<DBPinnableSlice<'a>>, Error>
Return the value associated with a key using RocksDB’s PinnableSlice
so as to avoid unnecessary memory copy. Similar to get_pinned_opt but
leverages default options.
source§fn get_pinned_opt<K: AsRef<[u8]>>(
&'a self,
key: K,
readopts: Self::ReadOptions
) -> Result<Option<DBPinnableSlice<'a>>, Error>
fn get_pinned_opt<K: AsRef<[u8]>>( &'a self, key: K, readopts: Self::ReadOptions ) -> Result<Option<DBPinnableSlice<'a>>, Error>
Return the value associated with a key using RocksDB’s PinnableSlice
so as to avoid unnecessary memory copy.
source§impl<T, W> Merge<W> for Twhere
T: MergeCF<W>,
impl<T, W> Merge<W> for Twhere T: MergeCF<W>,
fn merge_full<K, V>( &self, key: K, value: V, writeopts: Option<&W> ) -> Result<(), Error>where K: AsRef<[u8]>, V: AsRef<[u8]>,
fn merge<K, V>(&self, key: K, value: V) -> Result<(), Error>where K: AsRef<[u8]>, V: AsRef<[u8]>,
fn merge_opt<K, V>(&self, key: K, value: V, writeopts: &W) -> Result<(), Error>where K: AsRef<[u8]>, V: AsRef<[u8]>,
source§impl<T, W> Put<W> for Twhere
T: PutCF<W>,
impl<T, W> Put<W> for Twhere T: PutCF<W>,
fn put_full<K, V>( &self, key: K, value: V, writeopts: Option<&W> ) -> Result<(), Error>where K: AsRef<[u8]>, V: AsRef<[u8]>,
source§fn put<K, V>(&self, key: K, value: V) -> Result<(), Error>where
K: AsRef<[u8]>,
V: AsRef<[u8]>,
fn put<K, V>(&self, key: K, value: V) -> Result<(), Error>where K: AsRef<[u8]>, V: AsRef<[u8]>,
Insert a value into the database under the given key.