Struct serai_coordinator::tributary::db::ParityDb
source · pub struct ParityDb {
inner: Arc<DbInner>,
commit_thread: Option<JoinHandle<()>>,
flush_thread: Option<JoinHandle<()>>,
log_thread: Option<JoinHandle<()>>,
cleanup_thread: Option<JoinHandle<()>>,
}
Expand description
Database instance.
Fields§
§inner: Arc<DbInner>
§commit_thread: Option<JoinHandle<()>>
§flush_thread: Option<JoinHandle<()>>
§log_thread: Option<JoinHandle<()>>
§cleanup_thread: Option<JoinHandle<()>>
Implementations§
source§impl Db
impl Db
sourcepub fn open(options: &Options) -> Result<Db, Error>
pub fn open(options: &Options) -> Result<Db, Error>
Open the database with given options. An error will be returned if the database does not exist.
sourcepub fn open_or_create(options: &Options) -> Result<Db, Error>
pub fn open_or_create(options: &Options) -> Result<Db, Error>
Open the database using given options. If the database does not exist it will be created empty.
sourcepub fn open_read_only(options: &Options) -> Result<Db, Error>
pub fn open_read_only(options: &Options) -> Result<Db, Error>
Open an existing database in read-only mode.
sourcepub fn get(&self, col: u8, key: &[u8]) -> Result<Option<Vec<u8>>, Error>
pub fn get(&self, col: u8, key: &[u8]) -> Result<Option<Vec<u8>>, Error>
Get a value in a specified column by key. Returns None
if the key does not exist.
sourcepub fn get_size(&self, col: u8, key: &[u8]) -> Result<Option<u32>, Error>
pub fn get_size(&self, col: u8, key: &[u8]) -> Result<Option<u32>, Error>
Get value size by key. Returns None
if the key does not exist.
sourcepub fn iter(&self, col: u8) -> Result<BTreeIterator<'_>, Error>
pub fn iter(&self, col: u8) -> Result<BTreeIterator<'_>, Error>
Iterate over all ordered key-value pairs. Only supported for columns configured with
btree_indexed
.
sourcepub fn commit<I, K>(&self, tx: I) -> Result<(), Error>
pub fn commit<I, K>(&self, tx: I) -> Result<(), Error>
Commit a set of changes to the database.
sourcepub fn commit_changes<I>(&self, tx: I) -> Result<(), Error>
pub fn commit_changes<I>(&self, tx: I) -> Result<(), Error>
Commit a set of changes to the database.
sourcepub fn num_columns(&self) -> u8
pub fn num_columns(&self) -> u8
Returns the number of columns in the database.
sourcepub fn iter_column_while(
&self,
c: u8,
f: impl FnMut(ValueIterState) -> bool,
) -> Result<(), Error>
pub fn iter_column_while( &self, c: u8, f: impl FnMut(ValueIterState) -> bool, ) -> Result<(), Error>
Iterate a column and call a function for each value. This is only supported for columns with
btree_index
set to false
. Iteration order is unspecified.
Unlike get
the iteration may not include changes made in recent commit
calls.
sourcepub fn write_stats_text(
&self,
writer: &mut impl Write,
column: Option<u8>,
) -> Result<(), Error>
pub fn write_stats_text( &self, writer: &mut impl Write, column: Option<u8>, ) -> Result<(), Error>
Dump full database stats to the text output.
sourcepub fn clear_stats(&self, column: Option<u8>) -> Result<(), Error>
pub fn clear_stats(&self, column: Option<u8>) -> Result<(), Error>
Reset internal database statistics for the database or specified column.
sourcepub fn dump(&self, check_param: CheckOptions) -> Result<(), Error>
pub fn dump(&self, check_param: CheckOptions) -> Result<(), Error>
Print database contents in text form to stderr.
sourcepub fn stats(&self) -> StatSummary
pub fn stats(&self) -> StatSummary
Get database statistics.
sourcepub fn add_column(
options: &mut Options,
new_column_options: ColumnOptions,
) -> Result<(), Error>
pub fn add_column( options: &mut Options, new_column_options: ColumnOptions, ) -> Result<(), Error>
Add a new column with options specified by new_column_options
.
sourcepub fn drop_last_column(options: &mut Options) -> Result<(), Error>
pub fn drop_last_column(options: &mut Options) -> Result<(), Error>
Remove last column from the database. Db must be close when called.
sourcepub fn reset_column(
options: &mut Options,
index: u8,
new_options: Option<ColumnOptions>,
) -> Result<(), Error>
pub fn reset_column( options: &mut Options, index: u8, new_options: Option<ColumnOptions>, ) -> Result<(), Error>
Truncate a column from the database, optionally changing its options. Db must be close when called.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Db
impl !RefUnwindSafe for Db
impl Send for Db
impl Sync for Db
impl Unpin for Db
impl !UnwindSafe for Db
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
source§impl<T> CheckedConversion for T
impl<T> CheckedConversion for T
source§impl<T> FmtForward for T
impl<T> FmtForward for T
source§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
self
to use its Binary
implementation when Debug
-formatted.source§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
self
to use its Display
implementation when
Debug
-formatted.source§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
self
to use its LowerExp
implementation when
Debug
-formatted.source§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
self
to use its LowerHex
implementation when
Debug
-formatted.source§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
self
to use its Octal
implementation when Debug
-formatted.source§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
self
to use its Pointer
implementation when
Debug
-formatted.source§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
self
to use its UpperExp
implementation when
Debug
-formatted.source§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
self
to use its UpperHex
implementation when
Debug
-formatted.source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§impl<T, Outer> IsWrappedBy<Outer> for T
impl<T, Outer> IsWrappedBy<Outer> for T
source§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
source§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
source§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
self
and passes that borrow into the pipe function. Read moresource§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
self
and passes that borrow into the pipe function. Read moresource§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
source§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R,
) -> R
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
source§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
self
, then passes self.as_ref()
into the pipe function.source§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
self
, then passes self.as_mut()
into the pipe
function.source§fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
self
, then passes self.deref()
into the pipe function.source§impl<T> Pointable for T
impl<T> Pointable for T
source§impl<T> SaturatedConversion for T
impl<T> SaturatedConversion for T
source§fn saturated_from<T>(t: T) -> Selfwhere
Self: UniqueSaturatedFrom<T>,
fn saturated_from<T>(t: T) -> Selfwhere
Self: UniqueSaturatedFrom<T>,
source§fn saturated_into<T>(self) -> Twhere
Self: UniqueSaturatedInto<T>,
fn saturated_into<T>(self) -> Twhere
Self: UniqueSaturatedInto<T>,
T
. Read moresource§impl<T> Tap for T
impl<T> Tap for T
source§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Borrow<B>
of a value. Read moresource§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
BorrowMut<B>
of a value. Read moresource§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
AsRef<R>
view of a value. Read moresource§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
AsMut<R>
view of a value. Read moresource§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Deref::Target
of a value. Read moresource§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Deref::Target
of a value. Read moresource§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
.tap()
only in debug builds, and is erased in release builds.source§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
.tap_mut()
only in debug builds, and is erased in release
builds.source§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
.tap_borrow()
only in debug builds, and is erased in release
builds.source§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
.tap_borrow_mut()
only in debug builds, and is erased in release
builds.source§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
.tap_ref()
only in debug builds, and is erased in release
builds.source§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
.tap_ref_mut()
only in debug builds, and is erased in release
builds.source§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
.tap_deref()
only in debug builds, and is erased in release
builds.source§impl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
impl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
source§fn unchecked_into(self) -> T
fn unchecked_into(self) -> T
unchecked_from
.source§impl<T, S> UniqueSaturatedInto<T> for S
impl<T, S> UniqueSaturatedInto<T> for S
source§fn unique_saturated_into(self) -> T
fn unique_saturated_into(self) -> T
T
.