pub trait TableSchema: Send + Sync {
    type P: PartitionKey + Clone + PartialEq + Serialize + for<'de> Deserialize<'de> + Send + Sync;
    type S: SortKey + Clone + Serialize + for<'de> Deserialize<'de> + Send + Sync;
    type E: Entry<Self::P, Self::S>;
    type Filter: Clone + Serialize + for<'de> Deserialize<'de> + Send + Sync;

    const TABLE_NAME: &'static str;

    fn matches_filter(entry: &Self::E, filter: &Self::Filter) -> bool;

    fn try_migrate(_bytes: &[u8]) -> Option<Self::E> { ... }
    fn updated(&self, _old: Option<Self::E>, _new: Option<Self::E>) { ... }
}
Expand description

Trait for the schema used in a table

Associated Types

The partition key used in that table

The sort key used int that table

They type for an entry in that table

The type for a filter that can be applied to select entries (e.g. filter out deleted entries)

Associated Constants

The name of the table in the database

Required methods

Provided methods

Try migrating an entry from an older version

Implementors