pub struct TableDB { /* private fields */ }Implementations§
Source§impl TableDB
impl TableDB
Sourcepub fn table_name(&self) -> String
pub fn table_name(&self) -> String
Get the internal name of the table
Sourcepub fn io_stats(&self, kind: IoStatsKind) -> IoStats
pub fn io_stats(&self, kind: IoStatsKind) -> IoStats
Get the io stats for the table
Sourcepub async fn cleanup(&self) -> VeilidAPIResult<()>
pub async fn cleanup(&self) -> VeilidAPIResult<()>
Cleanup the database
Sourcepub fn get_column_count(&self) -> VeilidAPIResult<u32>
pub fn get_column_count(&self) -> VeilidAPIResult<u32>
Get the total number of columns in the TableDB. Not the number of columns that were opened, rather the total number that could be opened.
Sourcepub fn estimate_storage_size(
&self,
_col: u32,
key: &[u8],
value: &[u8],
) -> VeilidAPIResult<u64>
pub fn estimate_storage_size( &self, _col: u32, key: &[u8], value: &[u8], ) -> VeilidAPIResult<u64>
Estimate the storage size for a table entry Overestimates size on disk because records are compressed in the tabledb Rough guess for sqlite based on their file format. Other databases may vary.
Sourcepub fn estimate_storage_size_json<T>(
&self,
col: u32,
key: &[u8],
value: &T,
) -> VeilidAPIResult<u64>where
T: Serialize,
pub fn estimate_storage_size_json<T>(
&self,
col: u32,
key: &[u8],
value: &T,
) -> VeilidAPIResult<u64>where
T: Serialize,
Estimate the storage size for a table entry if it is json encoded
Sourcepub async fn get_keys(&self, col: u32) -> VeilidAPIResult<Vec<Vec<u8>>>
pub async fn get_keys(&self, col: u32) -> VeilidAPIResult<Vec<Vec<u8>>>
Get the list of keys in a column of the TableDB
Sourcepub async fn get_key_count(&self, col: u32) -> VeilidAPIResult<u64>
pub async fn get_key_count(&self, col: u32) -> VeilidAPIResult<u64>
Get the number of keys in a column of the TableDB
Sourcepub fn transact(&self) -> TableDBTransaction
pub fn transact(&self) -> TableDBTransaction
Start a TableDB write transaction. The transaction object must be committed or rolled back before dropping.
Sourcepub async fn store(
&self,
col: u32,
key: &[u8],
value: &[u8],
) -> VeilidAPIResult<()>
pub async fn store( &self, col: u32, key: &[u8], value: &[u8], ) -> VeilidAPIResult<()>
Store a key with a value in a column in the TableDB. Performs a single transaction immediately.
Sourcepub async fn store_json<T>(
&self,
col: u32,
key: &[u8],
value: &T,
) -> VeilidAPIResult<()>where
T: Serialize,
pub async fn store_json<T>(
&self,
col: u32,
key: &[u8],
value: &T,
) -> VeilidAPIResult<()>where
T: Serialize,
Store a key in json format with a value in a column in the TableDB. Performs a single transaction immediately.
Sourcepub async fn load(
&self,
col: u32,
key: &[u8],
) -> VeilidAPIResult<Option<Vec<u8>>>
pub async fn load( &self, col: u32, key: &[u8], ) -> VeilidAPIResult<Option<Vec<u8>>>
Read a key from a column in the TableDB immediately.
Sourcepub async fn load_json<T>(
&self,
col: u32,
key: &[u8],
) -> VeilidAPIResult<Option<T>>where
T: for<'de> Deserialize<'de>,
pub async fn load_json<T>(
&self,
col: u32,
key: &[u8],
) -> VeilidAPIResult<Option<T>>where
T: for<'de> Deserialize<'de>,
Read an serde-json key from a column in the TableDB immediately
Sourcepub async fn delete(
&self,
col: u32,
key: &[u8],
) -> VeilidAPIResult<Option<Vec<u8>>>
pub async fn delete( &self, col: u32, key: &[u8], ) -> VeilidAPIResult<Option<Vec<u8>>>
Delete key with from a column in the TableDB
Sourcepub async fn delete_json<T>(
&self,
col: u32,
key: &[u8],
) -> VeilidAPIResult<Option<T>>where
T: for<'de> Deserialize<'de>,
pub async fn delete_json<T>(
&self,
col: u32,
key: &[u8],
) -> VeilidAPIResult<Option<T>>where
T: for<'de> Deserialize<'de>,
Delete serde-json key with from a column in the TableDB
Trait Implementations§
Auto Trait Implementations§
impl Freeze for TableDB
impl !RefUnwindSafe for TableDB
impl Send for TableDB
impl Sync for TableDB
impl Unpin for TableDB
impl !UnwindSafe for TableDB
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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 more