Struct tc_table::IndexSchema[][src]

pub struct IndexSchema { /* fields omitted */ }

The schema of a Table index

Implementations

impl IndexSchema[src]

pub fn columns(&self) -> Vec<Column>[src]

Return a list of the columns in this schema.

pub fn column_names(&self) -> impl Iterator<Item = &Id>[src]

Iterate over the names of the columns in this schema.

pub fn key(&self) -> &[Column][src]

Return a slice of the columns in this schema’s key.

pub fn values(&self) -> &[Column][src]

Return a slice of the columns in this schema’s values.

pub fn len(&self) -> usize[src]

Return the number of columns in this schema.

pub fn key_values_from_row(
    &self,
    row: Row
) -> TCResult<(Vec<Value>, Vec<Value>)>
[src]

Given a Row, return a (key, values) tuple.

pub fn row_from_key_values(
    &self,
    key: Vec<Value>,
    values: Vec<Value>
) -> TCResult<Row>
[src]

Given a key and values, return a Row.

pub fn row_from_values(&self, values: Vec<Value>) -> TCResult<Row>[src]

Given a list of Values, return a Row.

pub fn starts_with(&self, expected: &[Id]) -> bool[src]

Return true if this schema starts with the given slice of column names.

pub fn auxiliary(&self, key: &[Id]) -> TCResult<IndexSchema>[src]

Return the IndexSchema needed to index the given columns.

pub fn validate_columns(&self, columns: &[Id]) -> TCResult<()>[src]

Return an error if this schema does not support ordering by the given columns.

pub fn validate_key(&self, key: Vec<Value>) -> TCResult<Vec<Value>>[src]

Return an error if the given key does not match this schema.

pub fn validate_row_partial(&self, row: Row) -> TCResult<Row>[src]

Return an error if the given Row has any extra fields or incompatible values.

pub fn validate_row(&self, row: Row) -> TCResult<Row>[src]

Return an error if the given Row does not have a compatible value for every column.

pub fn values_from_row(
    &self,
    row: Row,
    reject_extras: bool
) -> TCResult<Vec<Value>>
[src]

Given a Row, return an ordered list of Values.

Trait Implementations

impl Clone for IndexSchema[src]

impl Display for IndexSchema[src]

impl Eq for IndexSchema[src]

impl From<(Vec<Column, Global>, Vec<Column, Global>)> for IndexSchema[src]

impl From<IndexSchema> for RowSchema[src]

impl From<IndexSchema> for TableSchema[src]

impl FromStream for IndexSchema[src]

type Context = ()

The decoding context of this type, useful in situations where the stream to be decoded may be too large to hold in main memory. Read more

impl<'en> IntoStream<'en> for IndexSchema[src]

impl PartialEq<IndexSchema> for IndexSchema[src]

impl StructuralEq for IndexSchema[src]

impl StructuralPartialEq for IndexSchema[src]

impl TryCastFrom<Value> for IndexSchema[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<F, T> CastFrom<F> for T where
    T: From<F>, 
[src]

impl<T, F> CastInto<F> for T where
    F: CastFrom<T>, 
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<F> Match for F[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T> ToString for T where
    T: Display + ?Sized
[src]

impl<F, T> TryCastFrom<F> for T where
    T: CastFrom<F>, 
[src]

impl<F, T> TryCastInto<T> for F where
    T: TryCastFrom<F>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,