pub struct DB { /* private fields */ }Expand description
A RocksDB database.
See crate level documentation for a simple usage example.
Implementations§
Source§impl DB
impl DB
pub fn list_cf<P: AsRef<Path>>( opts: &Options, path: P, ) -> Result<Vec<String>, Error>
pub fn destroy<P: AsRef<Path>>(opts: &Options, path: P) -> Result<(), Error>
pub fn repair<P: AsRef<Path>>(opts: Options, path: P) -> Result<(), Error>
pub fn path(&self) -> &Path
pub fn snapshot(&self) -> Snapshot<'_>
Trait Implementations§
Source§impl GetColumnFamilys for DB
impl GetColumnFamilys for DB
fn get_cfs(&self) -> &BTreeMap<String, ColumnFamily>
fn get_mut_cfs(&mut self) -> &mut BTreeMap<String, ColumnFamily>
Source§impl Iterate for DB
impl Iterate for DB
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 DB
impl IterateCF for DB
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 Open for DB
impl Open for DB
Source§fn open_default<P: AsRef<Path>>(path: P) -> Result<Self, Error>
fn open_default<P: AsRef<Path>>(path: P) -> Result<Self, Error>
Open a database with default options.
Source§fn open<P: AsRef<Path>>(opts: &Options, path: P) -> Result<Self, Error>
fn open<P: AsRef<Path>>(opts: &Options, path: P) -> Result<Self, Error>
Open the database with the specified options.
fn open_with_descriptor<P: AsRef<Path>>( opts: &Options, path: P, descriptor: Self::Descriptor, ) -> Result<Self, Error>
Source§impl OpenCF for DB
impl OpenCF for DB
Source§fn open_cf<P, I, N>(opts: &Options, path: P, cfs: I) -> Result<Self, Error>
fn open_cf<P, I, N>(opts: &Options, path: P, cfs: I) -> Result<Self, Error>
Open a database with the given database options and column family names. Read more
Source§fn open_cf_descriptors<P, I>(
opts: &Options,
path: P,
cfs: I,
) -> Result<Self, Error>
fn open_cf_descriptors<P, I>( opts: &Options, path: P, cfs: I, ) -> Result<Self, Error>
Open a database with the given database options and column family descriptors.
fn open_cf_descriptors_with_descriptor<P, I>( opts: &Options, path: P, cfs: I, descriptor: Self::Descriptor, ) -> Result<Self, Error>
impl Read for DB
impl Send for DB
impl Sync for DB
impl Write for DB
Auto Trait Implementations§
impl Freeze for DB
impl RefUnwindSafe for DB
impl Unpin for DB
impl UnsafeUnpin for DB
impl UnwindSafe for DB
Blanket Implementations§
Source§impl<T> BatchedMultiGetCF<ReadOptions> for T
impl<T> BatchedMultiGetCF<ReadOptions> for T
fn batched_multi_get_cf_full<'a, K, I>( &self, cf: &ColumnFamily, keys: I, sorted_input: bool, readopts: Option<&ReadOptions>, ) -> Vec<Result<Option<DBPinnableSlice<'_>>, Error>>
fn batched_multi_get_cf<'a, K, I>( &self, cf: &ColumnFamily, keys: I, sorted_input: bool, ) -> Vec<Result<Option<DBPinnableSlice<'_>>, Error>>
fn batched_multi_get_cf_opt<'a, K, I>( &self, cf: &ColumnFamily, keys: I, sorted_input: bool, readopts: &R, ) -> Vec<Result<Option<DBPinnableSlice<'_>>, Error>>
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> CompactRange for T
impl<T> CompactRange for T
Source§impl<T> CompactRangeCF for T
impl<T> CompactRangeCF for T
fn compact_range_cf( &self, cf: &ColumnFamily, start: Option<&[u8]>, end: Option<&[u8]>, )
Source§impl<T> CreateCheckpointObject for T
impl<T> CreateCheckpointObject for T
unsafe fn create_checkpoint_object_raw( &self, ) -> Result<*mut rocksdb_checkpoint_t, Error>
fn create_checkpoint_object(&self) -> Result<Checkpoint<'_>, Error>
Source§impl<T, W> Delete<W> for Twhere
T: DeleteCF<W>,
impl<T, W> Delete<W> for Twhere
T: DeleteCF<W>,
Source§impl<T> DeleteCF<WriteOptions> for T
impl<T> DeleteCF<WriteOptions> for T
fn delete_cf_full<K>( &self, cf: Option<&ColumnFamily>, key: K, writeopts: Option<&WriteOptions>, ) -> Result<(), Error>
fn delete_cf<K>(&self, cf: &ColumnFamily, key: K) -> Result<(), Error>
fn put_cf_opt<K>( &self, cf: &ColumnFamily, key: K, writeopts: &W, ) -> Result<(), Error>
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>
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<T> GetCF<ReadOptions> for T
impl<T> GetCF<ReadOptions> for T
fn get_cf_full<K>( &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, 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>
fn get_pinned_full<K>( &'a self, key: K, readopts: Option<<T as GetPinned<'a>>::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<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<'a, T> GetPinnedCF<'a> for T
impl<'a, T> GetPinnedCF<'a> for T
type ColumnFamily = &'a ColumnFamily
type ReadOptions = &'a ReadOptions
Source§fn get_pinned_cf_full<K>(
&'a self,
cf: Option<<T as GetPinnedCF<'a>>::ColumnFamily>,
key: K,
readopts: Option<<T as GetPinnedCF<'a>>::ReadOptions>,
) -> Result<Option<DBPinnableSlice<'a>>, Error>
fn get_pinned_cf_full<K>( &'a self, cf: Option<<T as GetPinnedCF<'a>>::ColumnFamily>, key: K, readopts: Option<<T as GetPinnedCF<'a>>::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<T> GetProperty for T
impl<T> GetProperty for T
Source§impl<T> GetPropertyCF for T
impl<T> GetPropertyCF for T
Source§fn property_value_cf(
&self,
cf: &ColumnFamily,
name: &str,
) -> Result<Option<String>, Error>
fn property_value_cf( &self, cf: &ColumnFamily, name: &str, ) -> Result<Option<String>, Error>
Retrieves a RocksDB property by name, for a specific column family. Read more
Source§fn property_int_value_cf(
&self,
cf: &ColumnFamily,
name: &str,
) -> Result<Option<u64>, Error>
fn property_int_value_cf( &self, cf: &ColumnFamily, name: &str, ) -> Result<Option<u64>, Error>
Retrieves a RocksDB property for a specific column family and casts it to an integer. Read more
Source§impl<T> IngestExternalFile for Twhere
T: IngestExternalFileCF,
impl<T> IngestExternalFile for Twhere
T: IngestExternalFileCF,
fn ingest_external_file_full<P>( &self, paths: Vec<P>, opts: Option<&IngestExternalFileOptions>, ) -> Result<(), Error>
Source§fn ingest_external_file<P: AsRef<Path>>(
&self,
paths: Vec<P>,
) -> Result<(), Error>
fn ingest_external_file<P: AsRef<Path>>( &self, paths: Vec<P>, ) -> Result<(), Error>
Loads a list of external SST files created with SstFileWriter into the DB with default opts
Source§fn ingest_external_file_opts<P: AsRef<Path>>(
&self,
paths: Vec<P>,
opts: &IngestExternalFileOptions,
) -> Result<(), Error>
fn ingest_external_file_opts<P: AsRef<Path>>( &self, paths: Vec<P>, opts: &IngestExternalFileOptions, ) -> Result<(), Error>
Loads a list of external SST files created with SstFileWriter into the DB
Source§impl<T> IngestExternalFileCF for T
impl<T> IngestExternalFileCF for T
fn ingest_external_file_cf_full<P>( &self, cf: Option<&ColumnFamily>, paths: Vec<P>, opts: Option<&IngestExternalFileOptions>, ) -> Result<(), Error>
Source§fn ingest_external_file_cf<P: AsRef<Path>>(
&self,
cf: &ColumnFamily,
paths: Vec<P>,
) -> Result<(), Error>
fn ingest_external_file_cf<P: AsRef<Path>>( &self, cf: &ColumnFamily, paths: Vec<P>, ) -> Result<(), Error>
Loads a list of external SST files created with SstFileWriter into the DB for given Column Family
with default opts
Source§fn ingest_external_file_opts<P: AsRef<Path>>(
&self,
cf: &ColumnFamily,
paths: Vec<P>,
opts: &IngestExternalFileOptions,
) -> Result<(), Error>
fn ingest_external_file_opts<P: AsRef<Path>>( &self, cf: &ColumnFamily, paths: Vec<P>, opts: &IngestExternalFileOptions, ) -> Result<(), Error>
Loads a list of external SST files created with SstFileWriter into the DB for given Column Family
Source§impl<T, W> Merge<W> for Twhere
T: MergeCF<W>,
impl<T, W> Merge<W> for Twhere
T: MergeCF<W>,
Source§impl<T> MergeCF<WriteOptions> for T
impl<T> MergeCF<WriteOptions> for T
fn merge_cf_full<K, V>( &self, cf: Option<&ColumnFamily>, key: K, value: V, writeopts: Option<&WriteOptions>, ) -> Result<(), Error>
fn merge_cf<K, V>( &self, cf: &ColumnFamily, key: K, value: V, ) -> Result<(), Error>
fn merge_cf_opt<K, V>( &self, cf: &ColumnFamily, key: K, value: V, writeopts: &W, ) -> Result<(), Error>
Source§impl<T> MultiGet<ReadOptions> for T
impl<T> MultiGet<ReadOptions> for T
Source§fn multi_get_full<K, I>(
&self,
keys: I,
readopts: Option<&ReadOptions>,
) -> Vec<Result<Option<DBVector>, Error>>
fn multi_get_full<K, I>( &self, keys: I, readopts: Option<&ReadOptions>, ) -> Vec<Result<Option<DBVector>, Error>>
Return the values associated with the given keys using read options.
fn multi_get<K, I>(&self, keys: I) -> Vec<Result<Option<DBVector>, Error>>
fn multi_get_opt<K, I>( &self, keys: I, readopts: &R, ) -> Vec<Result<Option<DBVector>, Error>>
Source§impl<T> MultiGetCF<ReadOptions> for T
impl<T> MultiGetCF<ReadOptions> for T
Source§fn multi_get_cf_full<'a, K, I>(
&self,
keys: I,
readopts: Option<&ReadOptions>,
) -> Vec<Result<Option<DBVector>, Error>>
fn multi_get_cf_full<'a, K, I>( &self, keys: I, readopts: Option<&ReadOptions>, ) -> Vec<Result<Option<DBVector>, Error>>
Return the values associated with the given keys and column families using read options.