Struct tc_table::TableIndex [−][src]
pub struct TableIndex<F: File<Node>, D: Dir, Txn: Transaction<D>> { /* fields omitted */ }
Expand description
The base type of a Table
.
Implementations
impl<F: File<Node>, D: Dir, Txn: Transaction<D>> TableIndex<F, D, Txn>
[src]
impl<F: File<Node>, D: Dir, Txn: Transaction<D>> TableIndex<F, D, Txn>
[src]pub async fn create(
schema: TableSchema,
context: &D,
txn_id: TxnId
) -> TCResult<TableIndex<F, D, Txn>> where
F: TryFrom<D::File, Error = TCError>,
D::FileClass: From<BTreeType>,
[src]
schema: TableSchema,
context: &D,
txn_id: TxnId
) -> TCResult<TableIndex<F, D, Txn>> where
F: TryFrom<D::File, Error = TCError>,
D::FileClass: From<BTreeType>,
pub async fn is_empty(&self, txn: &Txn) -> TCResult<bool>
[src]
pub fn merge_bounds(&self, all_bounds: Vec<Bounds>) -> TCResult<Bounds>
[src]
pub fn primary(&self) -> &Index<F, D, Txn>
[src]
pub fn supporting_index(&self, bounds: &Bounds) -> TCResult<Index<F, D, Txn>>
[src]
pub async fn get(
&self,
txn_id: TxnId,
key: Vec<Value>
) -> TCResult<Option<Vec<Value>>>
[src]
&self,
txn_id: TxnId,
key: Vec<Value>
) -> TCResult<Option<Vec<Value>>>
pub async fn upsert(
&self,
txn_id: TxnId,
key: Vec<Value>,
values: Vec<Value>
) -> TCResult<()>
[src]
&self,
txn_id: TxnId,
key: Vec<Value>,
values: Vec<Value>
) -> TCResult<()>
pub async fn slice_rows<'a>(
self,
txn_id: TxnId,
bounds: Bounds,
reverse: bool
) -> TCResult<TCTryStream<'a, Vec<Value>>>
[src]
self,
txn_id: TxnId,
bounds: Bounds,
reverse: bool
) -> TCResult<TCTryStream<'a, Vec<Value>>>
Trait Implementations
impl<F: Clone + File<Node>, D: Clone + Dir, Txn: Clone + Transaction<D>> Clone for TableIndex<F, D, Txn>
[src]
impl<F: Clone + File<Node>, D: Clone + Dir, Txn: Clone + Transaction<D>> Clone for TableIndex<F, D, Txn>
[src]fn clone(&self) -> TableIndex<F, D, Txn>
[src]
fn clone(&self) -> TableIndex<F, D, Txn>
[src]Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]Performs copy-assignment from source
. Read more
impl<F: File<Node>, D: Dir, Txn: Transaction<D>, I: TableInstance<F, D, Txn>> CopyFrom<D, Txn, I> for TableIndex<F, D, Txn> where
F: TryFrom<D::File, Error = TCError>,
<D as Dir>::FileClass: From<BTreeType> + Send,
[src]
impl<F: File<Node>, D: Dir, Txn: Transaction<D>, I: TableInstance<F, D, Txn>> CopyFrom<D, Txn, I> for TableIndex<F, D, Txn> where
F: TryFrom<D::File, Error = TCError>,
<D as Dir>::FileClass: From<BTreeType> + Send,
[src]impl<F: File<Node>, D: Dir, Txn: Transaction<D>> Display for TableIndex<F, D, Txn>
[src]
impl<F: File<Node>, D: Dir, Txn: Transaction<D>> Display for TableIndex<F, D, Txn>
[src]impl<F: File<Node>, D: Dir, Txn: Transaction<D>> From<TableIndex<F, D, Txn>> for Table<F, D, Txn>
[src]
impl<F: File<Node>, D: Dir, Txn: Transaction<D>> From<TableIndex<F, D, Txn>> for Table<F, D, Txn>
[src]fn from(table: TableIndex<F, D, Txn>) -> Self
[src]
fn from(table: TableIndex<F, D, Txn>) -> Self
[src]Performs the conversion.
impl<F: File<Node>, D: Dir, Txn: Transaction<D>> Instance for TableIndex<F, D, Txn>
[src]
impl<F: File<Node>, D: Dir, Txn: Transaction<D>> Instance for TableIndex<F, D, Txn>
[src]impl<F: File<Node>, D: Dir, Txn: Transaction<D>> Persist<D, Txn> for TableIndex<F, D, Txn> where
F: TryFrom<D::File, Error = TCError>,
<D as Dir>::FileClass: From<BTreeType> + Send,
[src]
impl<F: File<Node>, D: Dir, Txn: Transaction<D>> Persist<D, Txn> for TableIndex<F, D, Txn> where
F: TryFrom<D::File, Error = TCError>,
<D as Dir>::FileClass: From<BTreeType> + Send,
[src]impl<F: File<Node>, D: Dir, Txn: Transaction<D>> Restore<D, Txn> for TableIndex<F, D, Txn>
[src]
impl<F: File<Node>, D: Dir, Txn: Transaction<D>> Restore<D, Txn> for TableIndex<F, D, Txn>
[src]impl<F: File<Node>, D: Dir, Txn: Transaction<D>> TableInstance<F, D, Txn> for TableIndex<F, D, Txn>
[src]
impl<F: File<Node>, D: Dir, Txn: Transaction<D>> TableInstance<F, D, Txn> for TableIndex<F, D, Txn>
[src]type OrderBy = Merged<F, D, Txn>
type OrderBy = Merged<F, D, Txn>
The type of Table
returned by this instance’s order_by
method.
type Reverse = Merged<F, D, Txn>
type Reverse = Merged<F, D, Txn>
The type of Table
returned by this instance’s reversed
method.
type Slice = Merged<F, D, Txn>
type Slice = Merged<F, D, Txn>
The type of Table
returned by this instance’s slice
method.
fn count<'async_trait>(
self,
txn_id: TxnId
) -> Pin<Box<dyn Future<Output = TCResult<u64>> + Send + 'async_trait>> where
Self: 'async_trait,
[src]
fn count<'async_trait>(
self,
txn_id: TxnId
) -> Pin<Box<dyn Future<Output = TCResult<u64>> + Send + 'async_trait>> where
Self: 'async_trait,
[src]Return the number of rows in this Table
.
fn delete<'life0, 'async_trait>(
&'life0 self,
txn_id: TxnId
) -> Pin<Box<dyn Future<Output = TCResult<()>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
[src]
fn delete<'life0, 'async_trait>(
&'life0 self,
txn_id: TxnId
) -> Pin<Box<dyn Future<Output = TCResult<()>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
[src]Delete all rows in this Table
.
fn delete_row<'life0, 'async_trait>(
&'life0 self,
txn_id: TxnId,
row: Row
) -> Pin<Box<dyn Future<Output = TCResult<()>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
[src]
fn delete_row<'life0, 'async_trait>(
&'life0 self,
txn_id: TxnId,
row: Row
) -> Pin<Box<dyn Future<Output = TCResult<()>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
[src]Delete the given Row
from this table, if present.
fn schema(&self) -> TableSchema
[src]
fn schema(&self) -> TableSchema
[src]Return the schema of this Table
.
fn order_by(self, columns: Vec<Id>, reverse: bool) -> TCResult<Self::OrderBy>
[src]
fn order_by(self, columns: Vec<Id>, reverse: bool) -> TCResult<Self::OrderBy>
[src]Set the order returned by rows
.
fn slice(self, bounds: Bounds) -> TCResult<Merged<F, D, Txn>>
[src]
fn slice(self, bounds: Bounds) -> TCResult<Merged<F, D, Txn>>
[src]Limit the returned rows
to the given Bounds
.
fn rows<'a, 'async_trait>(
self,
txn_id: TxnId
) -> Pin<Box<dyn Future<Output = TCResult<TCTryStream<'a, Vec<Value>>>> + Send + 'async_trait>> where
'a: 'async_trait,
Self: 'async_trait,
[src]
fn rows<'a, 'async_trait>(
self,
txn_id: TxnId
) -> Pin<Box<dyn Future<Output = TCResult<TCTryStream<'a, Vec<Value>>>> + Send + 'async_trait>> where
'a: 'async_trait,
Self: 'async_trait,
[src]Return a stream of the rows in this Table
.
fn validate_bounds(&self, bounds: &Bounds) -> TCResult<()>
[src]
fn validate_bounds(&self, bounds: &Bounds) -> TCResult<()>
[src]Return an error if this table does not support the given Bounds
.
fn validate_order(&self, order: &[Id]) -> TCResult<()>
[src]
fn validate_order(&self, order: &[Id]) -> TCResult<()>
[src]Return an error if this table does not support ordering by the given columns.
fn update<'life0, 'life1, 'async_trait>(
&'life0 self,
txn: &'life1 Txn,
update: Row
) -> Pin<Box<dyn Future<Output = TCResult<()>> + Send + 'async_trait>> where
F: TryFrom<D::File, Error = TCError>,
D::FileClass: From<BTreeType>,
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
[src]
fn update<'life0, 'life1, 'async_trait>(
&'life0 self,
txn: &'life1 Txn,
update: Row
) -> Pin<Box<dyn Future<Output = TCResult<()>> + Send + 'async_trait>> where
F: TryFrom<D::File, Error = TCError>,
D::FileClass: From<BTreeType>,
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
[src]Update the values of the columns in this Table
to match the given Row
.
fn update_row<'life0, 'async_trait>(
&'life0 self,
txn_id: TxnId,
row: Row,
update: Row
) -> Pin<Box<dyn Future<Output = TCResult<()>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
[src]
fn update_row<'life0, 'async_trait>(
&'life0 self,
txn_id: TxnId,
row: Row,
update: Row
) -> Pin<Box<dyn Future<Output = TCResult<()>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
[src]Update one row of this Table
.
fn upsert<'life0, 'async_trait>(
&'life0 self,
txn_id: TxnId,
key: Vec<Value>,
values: Vec<Value>
) -> Pin<Box<dyn Future<Output = TCResult<()>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
[src]
fn upsert<'life0, 'async_trait>(
&'life0 self,
txn_id: TxnId,
key: Vec<Value>,
values: Vec<Value>
) -> Pin<Box<dyn Future<Output = TCResult<()>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
[src]Insert or update the given row.
fn group_by(
self,
columns: Vec<Id>
) -> TCResult<Aggregate<F, D, Txn, Self::OrderBy>>
[src]
fn group_by(
self,
columns: Vec<Id>
) -> TCResult<Aggregate<F, D, Txn, Self::OrderBy>>
[src]Group this Table
by the given columns.
#[must_use]fn index<'async_trait>(
self,
txn: Txn,
columns: Option<Vec<Id>>
) -> Pin<Box<dyn Future<Output = TCResult<ReadOnly<F, D, Txn>>> + Send + 'async_trait>> where
F: TryFrom<D::File, Error = TCError>,
D::FileClass: From<BTreeType>,
Self: Send + 'async_trait,
[src]
#[must_use]fn index<'async_trait>(
self,
txn: Txn,
columns: Option<Vec<Id>>
) -> Pin<Box<dyn Future<Output = TCResult<ReadOnly<F, D, Txn>>> + Send + 'async_trait>> where
F: TryFrom<D::File, Error = TCError>,
D::FileClass: From<BTreeType>,
Self: Send + 'async_trait,
[src]Construct and return a temporary index of the given columns.
impl<F: File<Node> + Transact, D: Dir, Txn: Transaction<D>> Transact for TableIndex<F, D, Txn>
[src]
impl<F: File<Node> + Transact, D: Dir, Txn: Transaction<D>> Transact for TableIndex<F, D, Txn>
[src]Auto Trait Implementations
impl<F, D, Txn> RefUnwindSafe for TableIndex<F, D, Txn> where
D: RefUnwindSafe,
F: RefUnwindSafe,
Txn: RefUnwindSafe,
D: RefUnwindSafe,
F: RefUnwindSafe,
Txn: RefUnwindSafe,
impl<F, D, Txn> Send for TableIndex<F, D, Txn>
impl<F, D, Txn> Sync for TableIndex<F, D, Txn>
impl<F, D, Txn> Unpin for TableIndex<F, D, Txn>
impl<F, D, Txn> UnwindSafe for TableIndex<F, D, Txn> where
D: RefUnwindSafe,
F: RefUnwindSafe,
Txn: RefUnwindSafe,
D: RefUnwindSafe,
F: RefUnwindSafe,
Txn: RefUnwindSafe,
Blanket Implementations
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]pub fn borrow_mut(&mut self) -> &mut T
[src]
pub fn borrow_mut(&mut self) -> &mut T
[src]Mutably borrows from an owned value. Read more
impl<F> Match for F
[src]
impl<F> Match for F
[src]fn matches<T>(&self) -> bool where
T: TryCastFrom<Self>,
[src]
fn matches<T>(&self) -> bool where
T: TryCastFrom<Self>,
[src]Returns true
if self
can be cast into the target type T
.
impl<T> Same<T> for T
impl<T> Same<T> for T
type Output = T
type Output = T
Should always be Self
impl<T> ToOwned for T where
T: Clone,
[src]
impl<T> ToOwned for T where
T: Clone,
[src]type Owned = T
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn to_owned(&self) -> T
[src]Creates owned data from borrowed data, usually by cloning. Read more
pub fn clone_into(&self, target: &mut T)
[src]
pub fn clone_into(&self, target: &mut T)
[src]🔬 This is a nightly-only experimental API. (toowned_clone_into
)
recently added
Uses borrowed data to replace owned data, usually by cloning. Read more
impl<F, T> TryCastFrom<F> for T where
T: CastFrom<F>,
[src]
impl<F, T> TryCastFrom<F> for T where
T: CastFrom<F>,
[src]pub fn can_cast_from(&F) -> bool
[src]
pub fn can_cast_from(&F) -> bool
[src]Test if value
can be cast into Self
.
pub fn opt_cast_from(f: F) -> Option<T>
[src]
pub fn opt_cast_from(f: F) -> Option<T>
[src]Returns Some(Self)
if the source value can be cast into Self
, otherwise None
.
fn try_cast_from<Err, OnErr>(value: T, on_err: OnErr) -> Result<Self, Err> where
OnErr: FnOnce(&T) -> Err,
[src]
fn try_cast_from<Err, OnErr>(value: T, on_err: OnErr) -> Result<Self, Err> where
OnErr: FnOnce(&T) -> Err,
[src]Returns Ok(Self)
if the source value can be cast into Self
, otherwise calls on_err
.
impl<F, T> TryCastInto<T> for F where
T: TryCastFrom<F>,
[src]
impl<F, T> TryCastInto<T> for F where
T: TryCastFrom<F>,
[src]pub fn can_cast_into(&self) -> bool
[src]
pub fn can_cast_into(&self) -> bool
[src]Test if self
can be cast into T
.
pub fn opt_cast_into(self) -> Option<T>
[src]
pub fn opt_cast_into(self) -> Option<T>
[src]Returns Some(T)
if self
can be cast into T
, otherwise None
.
fn try_cast_into<Err, OnErr>(self, on_err: OnErr) -> Result<T, Err> where
OnErr: FnOnce(&Self) -> Err,
[src]
fn try_cast_into<Err, OnErr>(self, on_err: OnErr) -> Result<T, Err> where
OnErr: FnOnce(&Self) -> Err,
[src]Returns Ok(T)
if self
can be cast into T
, otherwise calls on_err
.
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,