Trait diesel::prelude::QuerySource
source · pub trait QuerySource {
type FromClause;
type DefaultSelection: SelectableExpression<Self>;
// Required methods
fn from_clause(&self) -> Self::FromClause;
fn default_selection(&self) -> Self::DefaultSelection;
}
Expand description
Represents a type which can appear in the FROM
clause. Apps should not
need to concern themselves with this trait.
Types which implement this trait include:
- Tables generated by the
table!
macro - Internal structs which represent joins
- A select statement which has had no query builder methods called on it, other than those which can affect the from clause.
Required Associated Types§
sourcetype FromClause
type FromClause
The type returned by from_clause
sourcetype DefaultSelection: SelectableExpression<Self>
type DefaultSelection: SelectableExpression<Self>
The type returned by default_selection
Required Methods§
sourcefn from_clause(&self) -> Self::FromClause
fn from_clause(&self) -> Self::FromClause
The actual FROM
clause of this type. This is typically only called in
QueryFragment
implementations.
sourcefn default_selection(&self) -> Self::DefaultSelection
fn default_selection(&self) -> Self::DefaultSelection
The default select clause of this type, which should be used if no
select clause was explicitly specified. This should always be a tuple of
all the desired columns, not star
Implementors§
source§impl<From> QuerySource for SelectStatement<From>where
From: AsQuerySource,
<From::QuerySource as QuerySource>::DefaultSelection: SelectableExpression<Self>,
impl<From> QuerySource for SelectStatement<From>where From: AsQuerySource, <From::QuerySource as QuerySource>::DefaultSelection: SelectableExpression<Self>,
type FromClause = <<From as AsQuerySource>::QuerySource as QuerySource>::FromClause
type DefaultSelection = <<From as AsQuerySource>::QuerySource as QuerySource>::DefaultSelection
source§impl<S> QuerySource for Only<S>where
S: Table + Clone,
<S as QuerySource>::DefaultSelection: ValidGrouping<()> + SelectableExpression<Only<S>>,
Available on crate feature postgres_backend
only.
impl<S> QuerySource for Only<S>where S: Table + Clone, <S as QuerySource>::DefaultSelection: ValidGrouping<()> + SelectableExpression<Only<S>>,
Available on crate feature
postgres_backend
only.