pub struct table;
Expand description

The actual table struct

This is the type which provides the base methods of the query builder, such as .select and .filter.

Implementations§

source§

impl table

source

pub fn star(&self) -> star

Represents table_name.*, which is sometimes necessary for efficient count queries. It cannot be used in place of all_columns

Trait Implementations§

source§

impl<S1, S2> AliasAliasAppearsInFromClause<table, S2, S1> for table
where S1: AliasSource<Target = table> + AliasAliasAppearsInFromClauseSameTable<S2, table>, S2: AliasSource<Target = table>,

§

type Count = <S1 as AliasAliasAppearsInFromClauseSameTable<S2, table>>::Count

Will be passed on to the impl AppearsInFromClause<QS>
source§

impl<S> AliasAppearsInFromClause<S, table> for table
where S: AliasSource<Target = table>,

§

type Count = Never

Will be passed on to the impl AppearsInFromClause<QS>
source§

impl<S> AppearsInFromClause<Alias<S>> for table
where S: AliasSource,

§

type Count = Never

How many times does Self appear in QS?
source§

impl AppearsInFromClause<table> for NoFromClause

§

type Count = Never

How many times does Self appear in QS?
source§

impl AppearsInFromClause<table> for table

§

type Count = Once

How many times does Self appear in QS?
source§

impl AsQuery for table

§

type SqlType = (Integer, Text, Nullable<Text>, Nullable<Text>, Nullable<Text>, Integer, Integer, Integer, Text, Text)

The SQL type of Self::Query
§

type Query = SelectStatement<FromClause<table>>

What kind of query does this type represent?
source§

fn as_query(self) -> Self::Query

Converts a type which semantically represents a SQL query into the actual query being executed. See the trait level docs for more.
source§

impl Clone for table

source§

fn clone(&self) -> table

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for table

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for table

source§

fn default() -> table

Returns the “default value” for a type. Read more
source§

impl HasTable for table

§

type Table = table

The table this type is associated with.
source§

fn table() -> Self::Table

Returns the table this type is associated with.
source§

impl<'a, T> Insertable<T> for &'a table
where table: Insertable<T>,

§

type Values = <table as Insertable<T>>::Values

The VALUES clause to insert these records Read more
source§

fn values(self) -> Self::Values

Construct Self::Values Read more
source§

impl<T> Insertable<T> for table
where <table as AsQuery>::Query: Insertable<T>,

§

type Values = <<table as AsQuery>::Query as Insertable<T>>::Values

The VALUES clause to insert these records Read more
source§

fn values(self) -> Self::Values

Construct Self::Values Read more
source§

impl<'insert> Insertable<table> for &'insert NewProvider

§

type Values = <(Option<Grouped<Eq<name, <&'insert String as AsExpression<<name as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<website, <&'insert String as AsExpression<<website as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<help_url, <&'insert String as AsExpression<<help_url as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<image_uri, <&'insert String as AsExpression<<image_uri as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<period, <&'insert i32 as AsExpression<<period as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<digits, <&'insert i32 as AsExpression<<digits as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<default_counter, <&'insert i32 as AsExpression<<default_counter as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<algorithm, <&'insert String as AsExpression<<algorithm as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<method, <&'insert String as AsExpression<<method as Expression>::SqlType>>::Expression>>>) as Insertable<table>>::Values

The VALUES clause to insert these records Read more
source§

fn values( self ) -> <(Option<Eq<name, &'insert String>>, Option<Eq<website, &'insert String>>, Option<Eq<help_url, &'insert String>>, Option<Eq<image_uri, &'insert String>>, Option<Eq<period, &'insert i32>>, Option<Eq<digits, &'insert i32>>, Option<Eq<default_counter, &'insert i32>>, Option<Eq<algorithm, &'insert String>>, Option<Eq<method, &'insert String>>) as Insertable<table>>::Values

Construct Self::Values Read more
§

fn insert_into(self, table: T) -> InsertStatement<T, Self::Values>
where T: Table, Self: Sized,

Insert self into a given table. Read more
source§

impl Insertable<table> for NewProvider

§

type Values = <(Option<Grouped<Eq<name, <String as AsExpression<<name as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<website, <String as AsExpression<<website as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<help_url, <String as AsExpression<<help_url as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<image_uri, <String as AsExpression<<image_uri as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<period, <i32 as AsExpression<<period as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<digits, <i32 as AsExpression<<digits as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<default_counter, <i32 as AsExpression<<default_counter as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<algorithm, <String as AsExpression<<algorithm as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<method, <String as AsExpression<<method as Expression>::SqlType>>::Expression>>>) as Insertable<table>>::Values

The VALUES clause to insert these records Read more
source§

fn values( self ) -> <(Option<Eq<name, String>>, Option<Eq<website, String>>, Option<Eq<help_url, String>>, Option<Eq<image_uri, String>>, Option<Eq<period, i32>>, Option<Eq<digits, i32>>, Option<Eq<default_counter, i32>>, Option<Eq<algorithm, String>>, Option<Eq<method, String>>) as Insertable<table>>::Values

Construct Self::Values Read more
§

fn insert_into(self, table: T) -> InsertStatement<T, Self::Values>
where T: Table, Self: Sized,

Insert self into a given table. Read more
source§

impl IntoUpdateTarget for table

§

type WhereClause = <<table as AsQuery>::Query as IntoUpdateTarget>::WhereClause

What is the WHERE clause of this target?
source§

fn into_update_target(self) -> UpdateTarget<Self::Table, Self::WhereClause>

Decomposes self into the table and where clause.
source§

impl<DB> QueryFragment<DB> for table
where DB: Backend, <table as StaticQueryFragment>::Component: QueryFragment<DB>,

source§

fn walk_ast<'b>( &'b self, __diesel_internal_pass: AstPass<'_, 'b, DB> ) -> QueryResult<()>

Walk over this QueryFragment for all passes. Read more
source§

impl QueryId for table

§

type QueryId = table

A type which uniquely represents Self in a SQL query. Read more
source§

const HAS_STATIC_QUERY_ID: bool = true

Can the SQL generated by Self be uniquely identified by its type? Read more
§

fn query_id() -> Option<TypeId>

Returns the type id of Self::QueryId if Self::HAS_STATIC_QUERY_ID. Returns None otherwise. Read more
source§

impl QuerySource for table

§

type FromClause = StaticQueryFragmentInstance<table>

The type returned by from_clause
§

type DefaultSelection = <table as Table>::AllColumns

The type returned by default_selection
source§

fn from_clause(&self) -> Self::FromClause

The actual FROM clause of this type. This is typically only called in QueryFragment implementations.
source§

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
source§

impl Table for table

§

type PrimaryKey = id

The type returned by primary_key
§

type AllColumns = (id, name, website, help_url, image_uri, period, digits, default_counter, algorithm, method)

The type returned by all_columns
source§

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

Returns the primary key of this table. Read more
source§

fn all_columns() -> Self::AllColumns

Returns a tuple of all columns belonging to this table.
source§

impl AppearsOnTable<table> for star

source§

impl Copy for table

source§

impl<S> JoinTo<Alias<S>> for table
where Alias<S>: JoinTo<table>,

source§

impl<Left, Right, Kind> JoinTo<Join<Left, Right, Kind>> for table
where Join<Left, Right, Kind>: JoinTo<table>, Left: QuerySource, Right: QuerySource,

source§

impl JoinTo<table> for table

source§

impl JoinTo<table> for table

source§

impl SelectableExpression<table> for algorithm

source§

impl SelectableExpression<table> for default_counter

source§

impl SelectableExpression<table> for digits

source§

impl SelectableExpression<table> for help_url

source§

impl SelectableExpression<table> for id

source§

impl SelectableExpression<table> for image_uri

source§

impl SelectableExpression<table> for method

source§

impl SelectableExpression<table> for name

source§

impl SelectableExpression<table> for period

source§

impl SelectableExpression<table> for star

source§

impl SelectableExpression<table> for website

source§

impl TableNotEqual<table> for table

source§

impl TableNotEqual<table> for table

source§

impl UndecoratedInsertRecord<table> for NewProvider

Auto Trait Implementations§

§

impl RefUnwindSafe for table

§

impl Send for table

§

impl Sync for table

§

impl Unpin for table

§

impl UnwindSafe for table

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T1, T2> AppearsInFromClause<T2> for T1
where T1: TableNotEqual<T2> + Table, T2: Table,

§

type Count = Never

How many times does Self appear in QS?
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<'a, T, DB> BoxedDsl<'a, DB> for T
where T: Table<Query = SelectStatement<FromClause<T>>> + AsQuery, SelectStatement<FromClause<T>>: BoxedDsl<'a, DB>, <T as QuerySource>::DefaultSelection: Expression<SqlType = <T as AsQuery>::SqlType> + ValidGrouping<()>, <T as AsQuery>::SqlType: TypedExpressionType,

§

type Output = <SelectStatement<FromClause<T>> as BoxedDsl<'a, DB>>::Output

The return type of internal_into_boxed
§

fn internal_into_boxed(self) -> <T as BoxedDsl<'a, DB>>::Output

See the trait documentation.
§

impl<T> CombineDsl for T
where T: Table,

§

type Query = <T as AsQuery>::Query

What kind of query does this type represent?
§

fn union<Rhs>( self, rhs: Rhs ) -> CombinationClause<Union, Distinct, <T as CombineDsl>::Query, <Rhs as AsQuery>::Query>
where Rhs: AsQuery<SqlType = <<T as CombineDsl>::Query as Query>::SqlType>,

Combine two queries using a SQL UNION Read more
§

fn union_all<Rhs>( self, rhs: Rhs ) -> CombinationClause<Union, All, <T as CombineDsl>::Query, <Rhs as AsQuery>::Query>
where Rhs: AsQuery<SqlType = <<T as CombineDsl>::Query as Query>::SqlType>,

Combine two queries using a SQL UNION ALL
§

fn intersect<Rhs>( self, rhs: Rhs ) -> CombinationClause<Intersect, Distinct, <T as CombineDsl>::Query, <Rhs as AsQuery>::Query>
where Rhs: AsQuery<SqlType = <<T as CombineDsl>::Query as Query>::SqlType>,

Combine two queries using a SQL INTERSECT
§

fn intersect_all<Rhs>( self, rhs: Rhs ) -> CombinationClause<Intersect, All, <T as CombineDsl>::Query, <Rhs as AsQuery>::Query>
where Rhs: AsQuery<SqlType = <<T as CombineDsl>::Query as Query>::SqlType>,

Combine two queries using a SQL INTERSECT ALL
§

fn except<Rhs>( self, rhs: Rhs ) -> CombinationClause<Except, Distinct, <T as CombineDsl>::Query, <Rhs as AsQuery>::Query>
where Rhs: AsQuery<SqlType = <<T as CombineDsl>::Query as Query>::SqlType>,

Combine two queries using a SQL EXCEPT
§

fn except_all<Rhs>( self, rhs: Rhs ) -> CombinationClause<Except, All, <T as CombineDsl>::Query, <Rhs as AsQuery>::Query>
where Rhs: AsQuery<SqlType = <<T as CombineDsl>::Query as Query>::SqlType>,

Combine two queries using a SQL EXCEPT ALL
§

impl<T> DistinctDsl for T
where T: AsQuery<Query = SelectStatement<FromClause<T>>> + Table, <T as QuerySource>::DefaultSelection: Expression<SqlType = <T as AsQuery>::SqlType> + ValidGrouping<()>, <T as AsQuery>::SqlType: TypedExpressionType,

§

type Output = <SelectStatement<FromClause<T>> as DistinctDsl>::Output

The type returned by .distinct
§

fn distinct(self) -> <SelectStatement<FromClause<T>> as DistinctDsl>::Output

See the trait documentation.
§

impl<Conn, DB, T> ExecuteDsl<Conn, DB> for T
where Conn: Connection<Backend = DB>, DB: Backend, T: QueryFragment<DB> + QueryId,

§

fn execute(query: T, conn: &mut Conn) -> Result<usize, Error>

Execute this command
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

§

impl<T> IntoSql for T

§

fn into_sql<T>(self) -> Self::Expression
where Self: AsExpression<T> + Sized, T: SqlType + TypedExpressionType,

Convert self to an expression for Diesel’s query builder. Read more
§

fn as_sql<'a, T>(&'a self) -> <&'a Self as AsExpression<T>>::Expression
where &'a Self: AsExpression<T>, T: SqlType + TypedExpressionType,

Convert &self to an expression for Diesel’s query builder. Read more
§

impl<T> JoinOnDsl for T
where T: QuerySource,

§

fn on<On>(self, on: On) -> OnClauseWrapper<Self, On>

See the trait documentation.
§

impl<Lhs, Rhs, On> JoinTo<OnClauseWrapper<Rhs, On>> for Lhs
where Lhs: Table,

§

type FromClause = Rhs

§

type OnClause = On

§

fn join_target( rhs: OnClauseWrapper<Rhs, On> ) -> (<Lhs as JoinTo<OnClauseWrapper<Rhs, On>>>::FromClause, <Lhs as JoinTo<OnClauseWrapper<Rhs, On>>>::OnClause)

§

impl<T> LimitDsl for T
where T: Table, <T as AsQuery>::Query: LimitDsl,

§

type Output = <<T as AsQuery>::Query as LimitDsl>::Output

The type returned by .limit
§

fn limit(self, limit: i64) -> <T as LimitDsl>::Output

See the trait documentation
§

impl<T, Lock> LockingDsl<Lock> for T
where T: Table<Query = SelectStatement<FromClause<T>>> + AsQuery, <T as QuerySource>::DefaultSelection: Expression<SqlType = <T as AsQuery>::SqlType> + ValidGrouping<()>, <T as AsQuery>::SqlType: TypedExpressionType,

§

type Output = <SelectStatement<FromClause<T>> as LockingDsl<Lock>>::Output

The type returned by set_lock. See dsl::ForUpdate and friends for convenient access to this type.
§

fn with_lock(self, lock: Lock) -> <T as LockingDsl<Lock>>::Output

See the trait level documentation
§

impl<T> NoneValue for T
where T: Default,

§

type NoneType = T

§

fn null_value() -> T

The none-equivalent value.
§

impl<T> OffsetDsl for T
where T: Table, <T as AsQuery>::Query: OffsetDsl,

§

type Output = <<T as AsQuery>::Query as OffsetDsl>::Output

The type returned by .offset.
§

fn offset(self, offset: i64) -> <T as OffsetDsl>::Output

See the trait documentation
§

impl<T> QueryDsl for T
where T: Table,

§

fn distinct(self) -> Self::Output
where Self: DistinctDsl,

Adds the DISTINCT keyword to a query. Read more
§

fn select<Selection>(self, selection: Selection) -> Self::Output
where Selection: Expression, Self: SelectDsl<Selection>,

Adds a SELECT clause to the query. Read more
§

fn count(self) -> Self::Output
where Self: SelectDsl<CountStar>,

Get the count of a query. This is equivalent to .select(count_star()) Read more
§

fn inner_join<Rhs>(self, rhs: Rhs) -> Self::Output
where Self: JoinWithImplicitOnClause<Rhs, Inner>,

Join two tables using a SQL INNER JOIN. Read more
§

fn left_outer_join<Rhs>(self, rhs: Rhs) -> Self::Output
where Self: JoinWithImplicitOnClause<Rhs, LeftOuter>,

Join two tables using a SQL LEFT OUTER JOIN. Read more
§

fn left_join<Rhs>(self, rhs: Rhs) -> Self::Output
where Self: JoinWithImplicitOnClause<Rhs, LeftOuter>,

Alias for left_outer_join.
§

fn filter<Predicate>(self, predicate: Predicate) -> Self::Output
where Self: FilterDsl<Predicate>,

Adds to the WHERE clause of a query. Read more
§

fn or_filter<Predicate>(self, predicate: Predicate) -> Self::Output
where Self: OrFilterDsl<Predicate>,

Adds to the WHERE clause of a query using OR Read more
§

fn find<PK>(self, id: PK) -> Self::Output
where Self: FindDsl<PK>,

Attempts to find a single record from the given table by primary key. Read more
§

fn order<Expr>(self, expr: Expr) -> Self::Output
where Expr: Expression, Self: OrderDsl<Expr>,

Sets the order clause of a query. Read more
§

fn order_by<Expr>(self, expr: Expr) -> Self::Output
where Expr: Expression, Self: OrderDsl<Expr>,

Alias for order
§

fn then_order_by<Order>(self, order: Order) -> Self::Output
where Self: ThenOrderDsl<Order>,

Appends to the ORDER BY clause of this SQL query. Read more
§

fn limit(self, limit: i64) -> Self::Output
where Self: LimitDsl,

Sets the limit clause of the query. Read more
§

fn offset(self, offset: i64) -> Self::Output
where Self: OffsetDsl,

Sets the offset clause of the query. Read more
§

fn group_by<GB>(self, group_by: GB) -> Self::Output
where GB: Expression, Self: GroupByDsl<GB>,

Sets the group by clause of a query. Read more
§

fn having<Predicate>(self, predicate: Predicate) -> Self::Output
where Self: HavingDsl<Predicate>,

Adds to the HAVING clause of a query. Read more
§

fn for_update(self) -> Self::Output
where Self: LockingDsl<ForUpdate>,

Adds FOR UPDATE to the end of the select statement. Read more
§

fn for_no_key_update(self) -> Self::Output
where Self: LockingDsl<ForNoKeyUpdate>,

Adds FOR NO KEY UPDATE to the end of the select statement. Read more
§

fn for_share(self) -> Self::Output
where Self: LockingDsl<ForShare>,

Adds FOR SHARE to the end of the select statement. Read more
§

fn for_key_share(self) -> Self::Output
where Self: LockingDsl<ForKeyShare>,

Adds FOR KEY SHARE to the end of the select statement. Read more
§

fn skip_locked(self) -> Self::Output
where Self: ModifyLockDsl<SkipLocked>,

Adds SKIP LOCKED to the end of a FOR UPDATE clause. Read more
§

fn no_wait(self) -> Self::Output
where Self: ModifyLockDsl<NoWait>,

Adds NOWAIT to the end of a FOR UPDATE clause. Read more
§

fn into_boxed<'a, DB>(self) -> Self::Output
where DB: Backend, Self: BoxedDsl<'a, DB>,

Boxes the pieces of a query into a single type. Read more
§

fn single_value(self) -> Self::Output
where Self: SingleValueDsl,

Wraps this select statement in parenthesis, allowing it to be used as an expression. Read more
§

fn nullable(self) -> Self::Output
where Self: SelectNullableDsl,

Coerce the SQL type of the select clause to it’s nullable equivalent. Read more
§

impl<T, Conn> RunQueryDsl<Conn> for T
where T: Table,

§

fn execute(self, conn: &mut Conn) -> Result<usize, Error>
where Conn: Connection, Self: ExecuteDsl<Conn>,

Executes the given command, returning the number of rows affected. Read more
§

fn load<'query, U>(self, conn: &mut Conn) -> Result<Vec<U>, Error>
where Self: LoadQuery<'query, Conn, U>,

Executes the given query, returning a Vec with the returned rows. Read more
§

fn load_iter<'conn, 'query, U, B>( self, conn: &'conn mut Conn ) -> Result<Self::RowIter<'conn>, Error>
where 'query: 'conn, U: 'conn, Self: LoadQuery<'query, Conn, U, B> + 'conn,

Executes the given query, returning an Iterator with the returned rows. Read more
§

fn get_result<'query, U>(self, conn: &mut Conn) -> Result<U, Error>
where Self: LoadQuery<'query, Conn, U>,

Runs the command, and returns the affected row. Read more
§

fn get_results<'query, U>(self, conn: &mut Conn) -> Result<Vec<U>, Error>
where Self: LoadQuery<'query, Conn, U>,

Runs the command, returning an Vec with the affected rows. Read more
§

fn first<'query, U>(self, conn: &mut Conn) -> Result<U, Error>
where Self: LimitDsl, Self::Output: LoadQuery<'query, Conn, U>,

Attempts to load a single record. Read more
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

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

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more