pub trait Table: QuerySource + AsQuery + Sized {
    type PrimaryKey: SelectableExpression<Self> + ValidGrouping<()>;
    type AllColumns: SelectableExpression<Self> + ValidGrouping<()>;

    // Required methods
    fn primary_key(&self) -> Self::PrimaryKey;
    fn all_columns() -> Self::AllColumns;
}
Expand description

A SQL database table. Types which implement this trait should have been generated by the table! macro.

Required Associated Types§

source

type PrimaryKey: SelectableExpression<Self> + ValidGrouping<()>

The type returned by primary_key

source

type AllColumns: SelectableExpression<Self> + ValidGrouping<()>

The type returned by all_columns

Required Methods§

source

fn primary_key(&self) -> Self::PrimaryKey

Returns the primary key of this table.

If the table has a composite primary key, this will be a tuple.

source

fn all_columns() -> Self::AllColumns

Returns a tuple of all columns belonging to this table.

Implementors§

source§

impl<S> Table for Only<S>where S: Table + Clone + AsQuery, <S as Table>::PrimaryKey: SelectableExpression<Only<S>>, <S as Table>::AllColumns: SelectableExpression<Only<S>>, <S as QuerySource>::DefaultSelection: ValidGrouping<()> + SelectableExpression<Only<S>>,

Available on crate feature postgres_backend only.