pub struct QueryBuilder<'a, Schema = (), State = (), Table = (), Marker = (), Row = (), Grouped = ()> {
pub sql: SQL<'a, PostgresValue<'a>>,
/* private fields */
}Expand description
Main query builder for PostgreSQL
The S type parameter represents the schema type, which is used
to ensure type safety when building queries.
Fields§
§sql: SQL<'a, PostgresValue<'a>>Implementations§
Source§impl<'a, S, T> QueryBuilder<'a, S, DeleteInitial, T>
impl<'a, S, T> QueryBuilder<'a, S, DeleteInitial, T>
Sourcepub fn where<E>(self, condition: E) -> DeleteBuilder<'a, S, DeleteWhereSet, T>
pub fn where<E>(self, condition: E) -> DeleteBuilder<'a, S, DeleteWhereSet, T>
Adds a WHERE condition to the query
Sourcepub fn returning<Columns>(
self,
columns: Columns,
) -> DeleteBuilder<'a, S, DeleteReturningSet, T, Scoped<<Columns as IntoSelectTarget>::Marker, Cons<T, Nil>>, <<Columns as IntoSelectTarget>::Marker as ResolveRow<T>>::Row>
pub fn returning<Columns>( self, columns: Columns, ) -> DeleteBuilder<'a, S, DeleteReturningSet, T, Scoped<<Columns as IntoSelectTarget>::Marker, Cons<T, Nil>>, <<Columns as IntoSelectTarget>::Marker as ResolveRow<T>>::Row>
Adds a RETURNING clause to the query
Source§impl<'a, S, T> QueryBuilder<'a, S, DeleteWhereSet, T>
impl<'a, S, T> QueryBuilder<'a, S, DeleteWhereSet, T>
Sourcepub fn returning<Columns>(
self,
columns: Columns,
) -> DeleteBuilder<'a, S, DeleteReturningSet, T, Scoped<<Columns as IntoSelectTarget>::Marker, Cons<T, Nil>>, <<Columns as IntoSelectTarget>::Marker as ResolveRow<T>>::Row>
pub fn returning<Columns>( self, columns: Columns, ) -> DeleteBuilder<'a, S, DeleteReturningSet, T, Scoped<<Columns as IntoSelectTarget>::Marker, Cons<T, Nil>>, <<Columns as IntoSelectTarget>::Marker as ResolveRow<T>>::Row>
Adds a RETURNING clause after WHERE
Source§impl<'a, Schema, Table> QueryBuilder<'a, Schema, InsertInitial, Table>where
Table: PostgresTable<'a>,
impl<'a, Schema, Table> QueryBuilder<'a, Schema, InsertInitial, Table>where
Table: PostgresTable<'a>,
Sourcepub fn value<T>(
self,
value: Table::Insert<T>,
) -> InsertBuilder<'a, Schema, InsertValuesSet, Table>
pub fn value<T>( self, value: Table::Insert<T>, ) -> InsertBuilder<'a, Schema, InsertValuesSet, Table>
Specifies a single row to insert. Shorthand for .values([row]).
Sourcepub fn values<I, T>(
self,
values: I,
) -> InsertBuilder<'a, Schema, InsertValuesSet, Table>where
I: IntoIterator<Item = Table::Insert<T>>,
pub fn values<I, T>(
self,
values: I,
) -> InsertBuilder<'a, Schema, InsertValuesSet, Table>where
I: IntoIterator<Item = Table::Insert<T>>,
Specifies multiple rows to insert.
Sourcepub fn select<Q>(
self,
query: Q,
) -> InsertBuilder<'a, Schema, InsertValuesSet, Table>where
Q: ToSQL<'a, PostgresValue<'a>>,
pub fn select<Q>(
self,
query: Q,
) -> InsertBuilder<'a, Schema, InsertValuesSet, Table>where
Q: ToSQL<'a, PostgresValue<'a>>,
Inserts rows produced by a SELECT query without an explicit column list.
The SELECT output must provide every table column in declaration order.
Source§impl<'a, S, T> QueryBuilder<'a, S, InsertValuesSet, T>
impl<'a, S, T> QueryBuilder<'a, S, InsertValuesSet, T>
Sourcepub fn on_conflict<C: ConflictTarget<T>>(
self,
target: C,
) -> OnConflictBuilder<'a, S, T>
pub fn on_conflict<C: ConflictTarget<T>>( self, target: C, ) -> OnConflictBuilder<'a, S, T>
Begins a typed ON CONFLICT clause targeting specific columns.
The target must implement ConflictTarget<T>, which is auto-generated for
primary key columns, unique columns, and unique indexes.
Returns an OnConflictBuilder to specify do_nothing() or do_update().
§Examples
fn main() {
use drizzle::postgres::prelude::*;
use drizzle::postgres::builder::QueryBuilder;
#[PostgresTable(name = "users")]
struct User {
#[column(serial, primary)]
id: i32,
name: String,
#[column(unique)]
email: Option<String>,
}
#[PostgresIndex(unique)]
struct UserEmailIdx(User::email);
#[derive(PostgresSchema)]
struct Schema {
user: User,
user_email_idx: UserEmailIdx,
}
let builder = QueryBuilder::new::<Schema>();
let schema = Schema::new();
let user = schema.user;
// Target a specific column
builder.insert(user).values([InsertUser::new("Alice")])
.on_conflict(user.id).do_nothing();
// Target with DO UPDATE using EXCLUDED
builder.insert(user).values([InsertUser::new("Alice")])
.on_conflict(user.email).do_update(UpdateUser::default().with_name("updated"));
// Target a unique index
builder.insert(user).values([InsertUser::new("Alice")])
.on_conflict(schema.user_email_idx).do_nothing();
}Sourcepub fn on_conflict_on_constraint<C: NamedConstraint<T>>(
self,
target: C,
) -> OnConflictBuilder<'a, S, T>
pub fn on_conflict_on_constraint<C: NamedConstraint<T>>( self, target: C, ) -> OnConflictBuilder<'a, S, T>
Begins a typed ON CONFLICT ON CONSTRAINT clause (PostgreSQL-only).
The target must implement NamedConstraint<T>, which is auto-generated
for unique indexes.
Returns an OnConflictBuilder to specify do_nothing() or do_update().
§Examples
fn main() {
use drizzle::postgres::prelude::*;
use drizzle::postgres::builder::QueryBuilder;
#[PostgresTable(name = "users")]
struct User {
#[column(serial, primary)]
id: i32,
name: String,
#[column(unique)]
email: Option<String>,
}
#[PostgresIndex(unique)]
struct UserEmailIdx(User::email);
#[derive(PostgresSchema)]
struct Schema {
user: User,
user_email_idx: UserEmailIdx,
}
let builder = QueryBuilder::new::<Schema>();
let schema = Schema::new();
builder.insert(schema.user).values([InsertUser::new("Alice")])
.on_conflict_on_constraint(schema.user_email_idx).do_nothing();
}Sourcepub fn on_conflict_do_nothing(
self,
) -> InsertBuilder<'a, S, InsertOnConflictSet, T>
pub fn on_conflict_do_nothing( self, ) -> InsertBuilder<'a, S, InsertOnConflictSet, T>
Shorthand for ON CONFLICT DO NOTHING without specifying a target.
This matches any constraint violation.
Sourcepub fn returning<Columns>(
self,
columns: Columns,
) -> InsertBuilder<'a, S, InsertReturningSet, T, Scoped<<Columns as IntoSelectTarget>::Marker, Cons<T, Nil>>, <<Columns as IntoSelectTarget>::Marker as ResolveRow<T>>::Row>
pub fn returning<Columns>( self, columns: Columns, ) -> InsertBuilder<'a, S, InsertReturningSet, T, Scoped<<Columns as IntoSelectTarget>::Marker, Cons<T, Nil>>, <<Columns as IntoSelectTarget>::Marker as ResolveRow<T>>::Row>
Adds a RETURNING clause and transitions to ReturningSet state
Source§impl<'a, S, T> QueryBuilder<'a, S, InsertOnConflictSet, T>
impl<'a, S, T> QueryBuilder<'a, S, InsertOnConflictSet, T>
Sourcepub fn returning<Columns>(
self,
columns: Columns,
) -> InsertBuilder<'a, S, InsertReturningSet, T, Scoped<<Columns as IntoSelectTarget>::Marker, Cons<T, Nil>>, <<Columns as IntoSelectTarget>::Marker as ResolveRow<T>>::Row>
pub fn returning<Columns>( self, columns: Columns, ) -> InsertBuilder<'a, S, InsertReturningSet, T, Scoped<<Columns as IntoSelectTarget>::Marker, Cons<T, Nil>>, <<Columns as IntoSelectTarget>::Marker as ResolveRow<T>>::Row>
Adds a RETURNING clause after ON CONFLICT
Source§impl<'a, S, T> QueryBuilder<'a, S, InsertDoUpdateSet, T>
impl<'a, S, T> QueryBuilder<'a, S, InsertDoUpdateSet, T>
Sourcepub fn where<E>(
self,
condition: E,
) -> InsertBuilder<'a, S, InsertOnConflictSet, T>
pub fn where<E>( self, condition: E, ) -> InsertBuilder<'a, S, InsertOnConflictSet, T>
Adds a WHERE clause to the DO UPDATE SET clause.
Generates: ON CONFLICT (col) DO UPDATE SET ... WHERE condition
Sourcepub fn returning<Columns>(
self,
columns: Columns,
) -> InsertBuilder<'a, S, InsertReturningSet, T, Scoped<<Columns as IntoSelectTarget>::Marker, Cons<T, Nil>>, <<Columns as IntoSelectTarget>::Marker as ResolveRow<T>>::Row>
pub fn returning<Columns>( self, columns: Columns, ) -> InsertBuilder<'a, S, InsertReturningSet, T, Scoped<<Columns as IntoSelectTarget>::Marker, Cons<T, Nil>>, <<Columns as IntoSelectTarget>::Marker as ResolveRow<T>>::Row>
Adds a RETURNING clause after DO UPDATE SET
Source§impl<'a, S, M> QueryBuilder<'a, S, SelectInitial, (), M>
impl<'a, S, M> QueryBuilder<'a, S, SelectInitial, (), M>
Sourcepub fn from<T>(
self,
query: T,
) -> SelectBuilder<'a, S, SelectFromSet, T, Scoped<M, Cons<T, Nil>>, <M as ResolveRow<T>>::Row>
pub fn from<T>( self, query: T, ) -> SelectBuilder<'a, S, SelectFromSet, T, Scoped<M, Cons<T, Nil>>, <M as ResolveRow<T>>::Row>
Specifies the table to select FROM and transitions state.
Source§impl<'a, S, State, T, M, R, G> QueryBuilder<'a, S, State, T, M, R, G>where
State: JoinAllowed,
impl<'a, S, State, T, M, R, G> QueryBuilder<'a, S, State, T, M, R, G>where
State: JoinAllowed,
Sourcepub fn join<J: JoinArg<'a, T>>(
self,
arg: J,
) -> SelectBuilder<'a, S, SelectJoinSet, J::JoinedTable, <M as ScopePush<J::JoinedTable>>::Out, <M as AfterJoin<R, J::JoinedTable>>::NewRow, G>
pub fn join<J: JoinArg<'a, T>>( self, arg: J, ) -> SelectBuilder<'a, S, SelectJoinSet, J::JoinedTable, <M as ScopePush<J::JoinedTable>>::Out, <M as AfterJoin<R, J::JoinedTable>>::NewRow, G>
Adds an INNER JOIN clause to the query.
Sourcepub fn natural_join<J: JoinArg<'a, T>>(
self,
arg: J,
) -> SelectBuilder<'a, S, SelectJoinSet, J::JoinedTable, <M as ScopePush<J::JoinedTable>>::Out, <M as AfterJoin<R, J::JoinedTable>>::NewRow, G>
pub fn natural_join<J: JoinArg<'a, T>>( self, arg: J, ) -> SelectBuilder<'a, S, SelectJoinSet, J::JoinedTable, <M as ScopePush<J::JoinedTable>>::Out, <M as AfterJoin<R, J::JoinedTable>>::NewRow, G>
JOIN with ON clause
Sourcepub fn natural_left_join<J: JoinArg<'a, T>>(
self,
arg: J,
) -> SelectBuilder<'a, S, SelectJoinSet, J::JoinedTable, <M as ScopePush<J::JoinedTable>>::Out, <M as AfterLeftJoin<R, J::JoinedTable>>::NewRow, G>
pub fn natural_left_join<J: JoinArg<'a, T>>( self, arg: J, ) -> SelectBuilder<'a, S, SelectJoinSet, J::JoinedTable, <M as ScopePush<J::JoinedTable>>::Out, <M as AfterLeftJoin<R, J::JoinedTable>>::NewRow, G>
JOIN with ON clause
Sourcepub fn left_join<J: JoinArg<'a, T>>(
self,
arg: J,
) -> SelectBuilder<'a, S, SelectJoinSet, J::JoinedTable, <M as ScopePush<J::JoinedTable>>::Out, <M as AfterLeftJoin<R, J::JoinedTable>>::NewRow, G>
pub fn left_join<J: JoinArg<'a, T>>( self, arg: J, ) -> SelectBuilder<'a, S, SelectJoinSet, J::JoinedTable, <M as ScopePush<J::JoinedTable>>::Out, <M as AfterLeftJoin<R, J::JoinedTable>>::NewRow, G>
JOIN with ON clause
Sourcepub fn left_outer_join<J: JoinArg<'a, T>>(
self,
arg: J,
) -> SelectBuilder<'a, S, SelectJoinSet, J::JoinedTable, <M as ScopePush<J::JoinedTable>>::Out, <M as AfterLeftJoin<R, J::JoinedTable>>::NewRow, G>
pub fn left_outer_join<J: JoinArg<'a, T>>( self, arg: J, ) -> SelectBuilder<'a, S, SelectJoinSet, J::JoinedTable, <M as ScopePush<J::JoinedTable>>::Out, <M as AfterLeftJoin<R, J::JoinedTable>>::NewRow, G>
JOIN with ON clause
Sourcepub fn natural_left_outer_join<J: JoinArg<'a, T>>(
self,
arg: J,
) -> SelectBuilder<'a, S, SelectJoinSet, J::JoinedTable, <M as ScopePush<J::JoinedTable>>::Out, <M as AfterLeftJoin<R, J::JoinedTable>>::NewRow, G>
pub fn natural_left_outer_join<J: JoinArg<'a, T>>( self, arg: J, ) -> SelectBuilder<'a, S, SelectJoinSet, J::JoinedTable, <M as ScopePush<J::JoinedTable>>::Out, <M as AfterLeftJoin<R, J::JoinedTable>>::NewRow, G>
JOIN with ON clause
Sourcepub fn natural_right_join<J: JoinArg<'a, T>>(
self,
arg: J,
) -> SelectBuilder<'a, S, SelectJoinSet, J::JoinedTable, <M as ScopePush<J::JoinedTable>>::Out, <M as AfterRightJoin<R, J::JoinedTable>>::NewRow, G>
pub fn natural_right_join<J: JoinArg<'a, T>>( self, arg: J, ) -> SelectBuilder<'a, S, SelectJoinSet, J::JoinedTable, <M as ScopePush<J::JoinedTable>>::Out, <M as AfterRightJoin<R, J::JoinedTable>>::NewRow, G>
JOIN with ON clause
Sourcepub fn right_join<J: JoinArg<'a, T>>(
self,
arg: J,
) -> SelectBuilder<'a, S, SelectJoinSet, J::JoinedTable, <M as ScopePush<J::JoinedTable>>::Out, <M as AfterRightJoin<R, J::JoinedTable>>::NewRow, G>
pub fn right_join<J: JoinArg<'a, T>>( self, arg: J, ) -> SelectBuilder<'a, S, SelectJoinSet, J::JoinedTable, <M as ScopePush<J::JoinedTable>>::Out, <M as AfterRightJoin<R, J::JoinedTable>>::NewRow, G>
JOIN with ON clause
Sourcepub fn right_outer_join<J: JoinArg<'a, T>>(
self,
arg: J,
) -> SelectBuilder<'a, S, SelectJoinSet, J::JoinedTable, <M as ScopePush<J::JoinedTable>>::Out, <M as AfterRightJoin<R, J::JoinedTable>>::NewRow, G>
pub fn right_outer_join<J: JoinArg<'a, T>>( self, arg: J, ) -> SelectBuilder<'a, S, SelectJoinSet, J::JoinedTable, <M as ScopePush<J::JoinedTable>>::Out, <M as AfterRightJoin<R, J::JoinedTable>>::NewRow, G>
JOIN with ON clause
Sourcepub fn natural_right_outer_join<J: JoinArg<'a, T>>(
self,
arg: J,
) -> SelectBuilder<'a, S, SelectJoinSet, J::JoinedTable, <M as ScopePush<J::JoinedTable>>::Out, <M as AfterRightJoin<R, J::JoinedTable>>::NewRow, G>
pub fn natural_right_outer_join<J: JoinArg<'a, T>>( self, arg: J, ) -> SelectBuilder<'a, S, SelectJoinSet, J::JoinedTable, <M as ScopePush<J::JoinedTable>>::Out, <M as AfterRightJoin<R, J::JoinedTable>>::NewRow, G>
JOIN with ON clause
Sourcepub fn natural_full_join<J: JoinArg<'a, T>>(
self,
arg: J,
) -> SelectBuilder<'a, S, SelectJoinSet, J::JoinedTable, <M as ScopePush<J::JoinedTable>>::Out, <M as AfterFullJoin<R, J::JoinedTable>>::NewRow, G>
pub fn natural_full_join<J: JoinArg<'a, T>>( self, arg: J, ) -> SelectBuilder<'a, S, SelectJoinSet, J::JoinedTable, <M as ScopePush<J::JoinedTable>>::Out, <M as AfterFullJoin<R, J::JoinedTable>>::NewRow, G>
JOIN with ON clause
Sourcepub fn full_join<J: JoinArg<'a, T>>(
self,
arg: J,
) -> SelectBuilder<'a, S, SelectJoinSet, J::JoinedTable, <M as ScopePush<J::JoinedTable>>::Out, <M as AfterFullJoin<R, J::JoinedTable>>::NewRow, G>
pub fn full_join<J: JoinArg<'a, T>>( self, arg: J, ) -> SelectBuilder<'a, S, SelectJoinSet, J::JoinedTable, <M as ScopePush<J::JoinedTable>>::Out, <M as AfterFullJoin<R, J::JoinedTable>>::NewRow, G>
JOIN with ON clause
Sourcepub fn full_outer_join<J: JoinArg<'a, T>>(
self,
arg: J,
) -> SelectBuilder<'a, S, SelectJoinSet, J::JoinedTable, <M as ScopePush<J::JoinedTable>>::Out, <M as AfterFullJoin<R, J::JoinedTable>>::NewRow, G>
pub fn full_outer_join<J: JoinArg<'a, T>>( self, arg: J, ) -> SelectBuilder<'a, S, SelectJoinSet, J::JoinedTable, <M as ScopePush<J::JoinedTable>>::Out, <M as AfterFullJoin<R, J::JoinedTable>>::NewRow, G>
JOIN with ON clause
Sourcepub fn natural_full_outer_join<J: JoinArg<'a, T>>(
self,
arg: J,
) -> SelectBuilder<'a, S, SelectJoinSet, J::JoinedTable, <M as ScopePush<J::JoinedTable>>::Out, <M as AfterFullJoin<R, J::JoinedTable>>::NewRow, G>
pub fn natural_full_outer_join<J: JoinArg<'a, T>>( self, arg: J, ) -> SelectBuilder<'a, S, SelectJoinSet, J::JoinedTable, <M as ScopePush<J::JoinedTable>>::Out, <M as AfterFullJoin<R, J::JoinedTable>>::NewRow, G>
JOIN with ON clause
Sourcepub fn inner_join<J: JoinArg<'a, T>>(
self,
arg: J,
) -> SelectBuilder<'a, S, SelectJoinSet, J::JoinedTable, <M as ScopePush<J::JoinedTable>>::Out, <M as AfterJoin<R, J::JoinedTable>>::NewRow, G>
pub fn inner_join<J: JoinArg<'a, T>>( self, arg: J, ) -> SelectBuilder<'a, S, SelectJoinSet, J::JoinedTable, <M as ScopePush<J::JoinedTable>>::Out, <M as AfterJoin<R, J::JoinedTable>>::NewRow, G>
JOIN with ON clause
Sourcepub fn cross_join<J: JoinArg<'a, T>>(
self,
arg: J,
) -> SelectBuilder<'a, S, SelectJoinSet, J::JoinedTable, <M as ScopePush<J::JoinedTable>>::Out, <M as AfterJoin<R, J::JoinedTable>>::NewRow, G>
pub fn cross_join<J: JoinArg<'a, T>>( self, arg: J, ) -> SelectBuilder<'a, S, SelectJoinSet, J::JoinedTable, <M as ScopePush<J::JoinedTable>>::Out, <M as AfterJoin<R, J::JoinedTable>>::NewRow, G>
JOIN with ON clause
Sourcepub fn left_join_using<U: PostgresTable<'a>>(
self,
table: U,
columns: impl ToSQL<'a, PostgresValue<'a>>,
) -> SelectBuilder<'a, S, SelectJoinSet, U, <M as ScopePush<U>>::Out, <M as AfterLeftJoin<R, U>>::NewRow, G>where
M: AfterLeftJoin<R, U> + ScopePush<U>,
pub fn left_join_using<U: PostgresTable<'a>>(
self,
table: U,
columns: impl ToSQL<'a, PostgresValue<'a>>,
) -> SelectBuilder<'a, S, SelectJoinSet, U, <M as ScopePush<U>>::Out, <M as AfterLeftJoin<R, U>>::NewRow, G>where
M: AfterLeftJoin<R, U> + ScopePush<U>,
JOIN with USING clause (PostgreSQL-specific)
Sourcepub fn left_outer_join_using<U: PostgresTable<'a>>(
self,
table: U,
columns: impl ToSQL<'a, PostgresValue<'a>>,
) -> SelectBuilder<'a, S, SelectJoinSet, U, <M as ScopePush<U>>::Out, <M as AfterLeftJoin<R, U>>::NewRow, G>where
M: AfterLeftJoin<R, U> + ScopePush<U>,
pub fn left_outer_join_using<U: PostgresTable<'a>>(
self,
table: U,
columns: impl ToSQL<'a, PostgresValue<'a>>,
) -> SelectBuilder<'a, S, SelectJoinSet, U, <M as ScopePush<U>>::Out, <M as AfterLeftJoin<R, U>>::NewRow, G>where
M: AfterLeftJoin<R, U> + ScopePush<U>,
JOIN with USING clause (PostgreSQL-specific)
Sourcepub fn right_join_using<U: PostgresTable<'a>>(
self,
table: U,
columns: impl ToSQL<'a, PostgresValue<'a>>,
) -> SelectBuilder<'a, S, SelectJoinSet, U, <M as ScopePush<U>>::Out, <M as AfterRightJoin<R, U>>::NewRow, G>where
M: AfterRightJoin<R, U> + ScopePush<U>,
pub fn right_join_using<U: PostgresTable<'a>>(
self,
table: U,
columns: impl ToSQL<'a, PostgresValue<'a>>,
) -> SelectBuilder<'a, S, SelectJoinSet, U, <M as ScopePush<U>>::Out, <M as AfterRightJoin<R, U>>::NewRow, G>where
M: AfterRightJoin<R, U> + ScopePush<U>,
JOIN with USING clause (PostgreSQL-specific)
Sourcepub fn right_outer_join_using<U: PostgresTable<'a>>(
self,
table: U,
columns: impl ToSQL<'a, PostgresValue<'a>>,
) -> SelectBuilder<'a, S, SelectJoinSet, U, <M as ScopePush<U>>::Out, <M as AfterRightJoin<R, U>>::NewRow, G>where
M: AfterRightJoin<R, U> + ScopePush<U>,
pub fn right_outer_join_using<U: PostgresTable<'a>>(
self,
table: U,
columns: impl ToSQL<'a, PostgresValue<'a>>,
) -> SelectBuilder<'a, S, SelectJoinSet, U, <M as ScopePush<U>>::Out, <M as AfterRightJoin<R, U>>::NewRow, G>where
M: AfterRightJoin<R, U> + ScopePush<U>,
JOIN with USING clause (PostgreSQL-specific)
Sourcepub fn full_join_using<U: PostgresTable<'a>>(
self,
table: U,
columns: impl ToSQL<'a, PostgresValue<'a>>,
) -> SelectBuilder<'a, S, SelectJoinSet, U, <M as ScopePush<U>>::Out, <M as AfterFullJoin<R, U>>::NewRow, G>where
M: AfterFullJoin<R, U> + ScopePush<U>,
pub fn full_join_using<U: PostgresTable<'a>>(
self,
table: U,
columns: impl ToSQL<'a, PostgresValue<'a>>,
) -> SelectBuilder<'a, S, SelectJoinSet, U, <M as ScopePush<U>>::Out, <M as AfterFullJoin<R, U>>::NewRow, G>where
M: AfterFullJoin<R, U> + ScopePush<U>,
JOIN with USING clause (PostgreSQL-specific)
Sourcepub fn full_outer_join_using<U: PostgresTable<'a>>(
self,
table: U,
columns: impl ToSQL<'a, PostgresValue<'a>>,
) -> SelectBuilder<'a, S, SelectJoinSet, U, <M as ScopePush<U>>::Out, <M as AfterFullJoin<R, U>>::NewRow, G>where
M: AfterFullJoin<R, U> + ScopePush<U>,
pub fn full_outer_join_using<U: PostgresTable<'a>>(
self,
table: U,
columns: impl ToSQL<'a, PostgresValue<'a>>,
) -> SelectBuilder<'a, S, SelectJoinSet, U, <M as ScopePush<U>>::Out, <M as AfterFullJoin<R, U>>::NewRow, G>where
M: AfterFullJoin<R, U> + ScopePush<U>,
JOIN with USING clause (PostgreSQL-specific)
Sourcepub fn inner_join_using<U: PostgresTable<'a>>(
self,
table: U,
columns: impl ToSQL<'a, PostgresValue<'a>>,
) -> SelectBuilder<'a, S, SelectJoinSet, U, <M as ScopePush<U>>::Out, <M as AfterJoin<R, U>>::NewRow, G>
pub fn inner_join_using<U: PostgresTable<'a>>( self, table: U, columns: impl ToSQL<'a, PostgresValue<'a>>, ) -> SelectBuilder<'a, S, SelectJoinSet, U, <M as ScopePush<U>>::Out, <M as AfterJoin<R, U>>::NewRow, G>
JOIN with USING clause (PostgreSQL-specific)
Sourcepub fn join_using<U: PostgresTable<'a>>(
self,
table: U,
columns: impl ToSQL<'a, PostgresValue<'a>>,
) -> SelectBuilder<'a, S, SelectJoinSet, U, <M as ScopePush<U>>::Out, <M as AfterJoin<R, U>>::NewRow, G>
pub fn join_using<U: PostgresTable<'a>>( self, table: U, columns: impl ToSQL<'a, PostgresValue<'a>>, ) -> SelectBuilder<'a, S, SelectJoinSet, U, <M as ScopePush<U>>::Out, <M as AfterJoin<R, U>>::NewRow, G>
JOIN with USING clause (PostgreSQL-specific)
Source§impl<'a, S, State, T, M, R, G> QueryBuilder<'a, S, State, T, M, R, G>where
State: SelectWhereAllowed,
impl<'a, S, State, T, M, R, G> QueryBuilder<'a, S, State, T, M, R, G>where
State: SelectWhereAllowed,
Sourcepub fn where<E>(
self,
condition: E,
) -> SelectBuilder<'a, S, SelectWhereSet, T, M, R, G>
pub fn where<E>( self, condition: E, ) -> SelectBuilder<'a, S, SelectWhereSet, T, M, R, G>
Adds a WHERE clause to filter query results.
Source§impl<'a, S, State, T, M, R, G> QueryBuilder<'a, S, State, T, M, R, G>where
State: GroupByAllowed,
impl<'a, S, State, T, M, R, G> QueryBuilder<'a, S, State, T, M, R, G>where
State: GroupByAllowed,
Sourcepub fn group_by<Gr>(
self,
columns: Gr,
) -> SelectBuilder<'a, S, SelectGroupSet, T, M, R, Gr::Columns>where
Gr: IntoGroupBy<'a, PostgresValue<'a>>,
pub fn group_by<Gr>(
self,
columns: Gr,
) -> SelectBuilder<'a, S, SelectGroupSet, T, M, R, Gr::Columns>where
Gr: IntoGroupBy<'a, PostgresValue<'a>>,
Adds a GROUP BY clause to the query.
Source§impl<'a, S, State, T, M, R, G> QueryBuilder<'a, S, State, T, M, R, G>where
State: HavingAllowed,
impl<'a, S, State, T, M, R, G> QueryBuilder<'a, S, State, T, M, R, G>where
State: HavingAllowed,
Sourcepub fn having<E>(
self,
condition: E,
) -> SelectBuilder<'a, S, SelectGroupSet, T, M, R, G>
pub fn having<E>( self, condition: E, ) -> SelectBuilder<'a, S, SelectGroupSet, T, M, R, G>
Adds a HAVING clause after GROUP BY.
Source§impl<'a, S, State, T, M, R, G> QueryBuilder<'a, S, State, T, M, R, G>where
State: OrderByAllowed,
impl<'a, S, State, T, M, R, G> QueryBuilder<'a, S, State, T, M, R, G>where
State: OrderByAllowed,
Sourcepub fn order_by<TOrderBy>(
self,
expressions: TOrderBy,
) -> SelectBuilder<'a, S, SelectOrderSet, T, M, R, G>where
TOrderBy: ToSQL<'a, PostgresValue<'a>>,
pub fn order_by<TOrderBy>(
self,
expressions: TOrderBy,
) -> SelectBuilder<'a, S, SelectOrderSet, T, M, R, G>where
TOrderBy: ToSQL<'a, PostgresValue<'a>>,
Sorts the query results.
Source§impl<'a, S, State, T, M, R, G> QueryBuilder<'a, S, State, T, M, R, G>where
State: LimitAllowed,
impl<'a, S, State, T, M, R, G> QueryBuilder<'a, S, State, T, M, R, G>where
State: LimitAllowed,
Sourcepub fn limit<P>(
self,
limit: P,
) -> SelectBuilder<'a, S, SelectLimitSet, T, M, R, G>where
P: PaginationArg<'a, PostgresValue<'a>>,
pub fn limit<P>(
self,
limit: P,
) -> SelectBuilder<'a, S, SelectLimitSet, T, M, R, G>where
P: PaginationArg<'a, PostgresValue<'a>>,
Limits the number of rows returned.
§Panics
Panics when a signed numeric argument is negative or a numeric value
does not fit in usize.
Source§impl<'a, S, State, T, M, R, G> QueryBuilder<'a, S, State, T, M, R, G>where
State: OffsetAllowed,
impl<'a, S, State, T, M, R, G> QueryBuilder<'a, S, State, T, M, R, G>where
State: OffsetAllowed,
Sourcepub fn offset<P>(
self,
offset: P,
) -> SelectBuilder<'a, S, SelectOffsetSet, T, M, R, G>where
P: PaginationArg<'a, PostgresValue<'a>>,
pub fn offset<P>(
self,
offset: P,
) -> SelectBuilder<'a, S, SelectOffsetSet, T, M, R, G>where
P: PaginationArg<'a, PostgresValue<'a>>,
Sets the offset for the query results.
§Panics
Panics when a signed numeric argument is negative or a numeric value
does not fit in usize.
Source§impl<'a, S, State, T, M, R, G> QueryBuilder<'a, S, State, T, M, R, G>
impl<'a, S, State, T, M, R, G> QueryBuilder<'a, S, State, T, M, R, G>
Sourcepub fn into_cte<Tag: Tag + 'static>(
self,
) -> CTEView<'a, <T as SQLTable<'a, PostgresSchemaType, PostgresValue<'a>>>::Aliased<Tag>, Self>
pub fn into_cte<Tag: Tag + 'static>( self, ) -> CTEView<'a, <T as SQLTable<'a, PostgresSchemaType, PostgresValue<'a>>>::Aliased<Tag>, Self>
Converts this SELECT query into a typed CTE using alias tag name.
Source§impl<'a, S, State, T, M, R, G> QueryBuilder<'a, S, State, T, M, R, G>where
State: ExecutableState,
impl<'a, S, State, T, M, R, G> QueryBuilder<'a, S, State, T, M, R, G>where
State: ExecutableState,
Sourcepub fn union(
self,
other: impl IntoSelect<'a, S, M, R>,
) -> SelectBuilder<'a, S, SelectSetOpSet, T, M, R, G>
pub fn union( self, other: impl IntoSelect<'a, S, M, R>, ) -> SelectBuilder<'a, S, SelectSetOpSet, T, M, R, G>
Combines this query with another using UNION.
Sourcepub fn union_all(
self,
other: impl IntoSelect<'a, S, M, R>,
) -> SelectBuilder<'a, S, SelectSetOpSet, T, M, R, G>
pub fn union_all( self, other: impl IntoSelect<'a, S, M, R>, ) -> SelectBuilder<'a, S, SelectSetOpSet, T, M, R, G>
Combines this query with another using UNION ALL.
Sourcepub fn intersect(
self,
other: impl IntoSelect<'a, S, M, R>,
) -> SelectBuilder<'a, S, SelectSetOpSet, T, M, R, G>
pub fn intersect( self, other: impl IntoSelect<'a, S, M, R>, ) -> SelectBuilder<'a, S, SelectSetOpSet, T, M, R, G>
Combines this query with another using INTERSECT.
Sourcepub fn intersect_all(
self,
other: impl IntoSelect<'a, S, M, R>,
) -> SelectBuilder<'a, S, SelectSetOpSet, T, M, R, G>
pub fn intersect_all( self, other: impl IntoSelect<'a, S, M, R>, ) -> SelectBuilder<'a, S, SelectSetOpSet, T, M, R, G>
Combines this query with another using INTERSECT ALL.
Sourcepub fn except(
self,
other: impl IntoSelect<'a, S, M, R>,
) -> SelectBuilder<'a, S, SelectSetOpSet, T, M, R, G>
pub fn except( self, other: impl IntoSelect<'a, S, M, R>, ) -> SelectBuilder<'a, S, SelectSetOpSet, T, M, R, G>
Combines this query with another using EXCEPT.
Sourcepub fn except_all(
self,
other: impl IntoSelect<'a, S, M, R>,
) -> SelectBuilder<'a, S, SelectSetOpSet, T, M, R, G>
pub fn except_all( self, other: impl IntoSelect<'a, S, M, R>, ) -> SelectBuilder<'a, S, SelectSetOpSet, T, M, R, G>
Combines this query with another using EXCEPT ALL.
Source§impl<'a, S, State, T, M, R, G> QueryBuilder<'a, S, State, T, M, R, G>where
State: ForLockableState,
impl<'a, S, State, T, M, R, G> QueryBuilder<'a, S, State, T, M, R, G>where
State: ForLockableState,
Sourcepub fn for_update(self) -> SelectBuilder<'a, S, SelectForSet, T, M, R, G>
pub fn for_update(self) -> SelectBuilder<'a, S, SelectForSet, T, M, R, G>
Adds FOR UPDATE clause to lock selected rows for update.
Adds FOR SHARE clause to lock selected rows for shared access.
Sourcepub fn for_no_key_update(self) -> SelectBuilder<'a, S, SelectForSet, T, M, R, G>
pub fn for_no_key_update(self) -> SelectBuilder<'a, S, SelectForSet, T, M, R, G>
Adds FOR NO KEY UPDATE clause.
Adds FOR KEY SHARE clause.
Sourcepub fn for_update_of<U: PostgresTable<'a>>(
self,
table: U,
) -> SelectBuilder<'a, S, SelectForSet, T, M, R, G>
pub fn for_update_of<U: PostgresTable<'a>>( self, table: U, ) -> SelectBuilder<'a, S, SelectForSet, T, M, R, G>
Adds FOR UPDATE OF table clause.
Adds FOR SHARE OF table clause.
Source§impl<S, T, M, R, G> QueryBuilder<'_, S, SelectForSet, T, M, R, G>
impl<S, T, M, R, G> QueryBuilder<'_, S, SelectForSet, T, M, R, G>
Sourcepub fn skip_locked(self) -> Self
pub fn skip_locked(self) -> Self
Adds SKIP LOCKED option to skip over locked rows.
Source§impl<'a, Schema, Table> QueryBuilder<'a, Schema, UpdateInitial, Table>
impl<'a, Schema, Table> QueryBuilder<'a, Schema, UpdateInitial, Table>
Sourcepub fn set(
self,
values: Table::Update,
) -> UpdateBuilder<'a, Schema, UpdateSetClauseSet, Table>
pub fn set( self, values: Table::Update, ) -> UpdateBuilder<'a, Schema, UpdateSetClauseSet, Table>
Sets the values to update and transitions to the SetClauseSet state
Source§impl<'a, S, T> QueryBuilder<'a, S, UpdateSetClauseSet, T>
impl<'a, S, T> QueryBuilder<'a, S, UpdateSetClauseSet, T>
Sourcepub fn from(
self,
source: impl ToSQL<'a, PostgresValue<'a>>,
) -> UpdateBuilder<'a, S, UpdateFromSet, T>
pub fn from( self, source: impl ToSQL<'a, PostgresValue<'a>>, ) -> UpdateBuilder<'a, S, UpdateFromSet, T>
Adds a FROM clause and transitions to the FromSet state
Sourcepub fn where<E>(self, condition: E) -> UpdateBuilder<'a, S, UpdateWhereSet, T>
pub fn where<E>(self, condition: E) -> UpdateBuilder<'a, S, UpdateWhereSet, T>
Adds a WHERE condition and transitions to the WhereSet state
Sourcepub fn returning<Columns>(
self,
columns: Columns,
) -> UpdateBuilder<'a, S, UpdateReturningSet, T, Scoped<<Columns as IntoSelectTarget>::Marker, Cons<T, Nil>>, <<Columns as IntoSelectTarget>::Marker as ResolveRow<T>>::Row>
pub fn returning<Columns>( self, columns: Columns, ) -> UpdateBuilder<'a, S, UpdateReturningSet, T, Scoped<<Columns as IntoSelectTarget>::Marker, Cons<T, Nil>>, <<Columns as IntoSelectTarget>::Marker as ResolveRow<T>>::Row>
Adds a RETURNING clause and transitions to the ReturningSet state
Source§impl<'a, S, T> QueryBuilder<'a, S, UpdateFromSet, T>
impl<'a, S, T> QueryBuilder<'a, S, UpdateFromSet, T>
Sourcepub fn where<E>(self, condition: E) -> UpdateBuilder<'a, S, UpdateWhereSet, T>
pub fn where<E>(self, condition: E) -> UpdateBuilder<'a, S, UpdateWhereSet, T>
Adds a WHERE condition after FROM
Sourcepub fn returning<Columns>(
self,
columns: Columns,
) -> UpdateBuilder<'a, S, UpdateReturningSet, T, Scoped<<Columns as IntoSelectTarget>::Marker, Cons<T, Nil>>, <<Columns as IntoSelectTarget>::Marker as ResolveRow<T>>::Row>
pub fn returning<Columns>( self, columns: Columns, ) -> UpdateBuilder<'a, S, UpdateReturningSet, T, Scoped<<Columns as IntoSelectTarget>::Marker, Cons<T, Nil>>, <<Columns as IntoSelectTarget>::Marker as ResolveRow<T>>::Row>
Adds a RETURNING clause after FROM
Source§impl<'a, S, T> QueryBuilder<'a, S, UpdateWhereSet, T>
impl<'a, S, T> QueryBuilder<'a, S, UpdateWhereSet, T>
Sourcepub fn returning<Columns>(
self,
columns: Columns,
) -> UpdateBuilder<'a, S, UpdateReturningSet, T, Scoped<<Columns as IntoSelectTarget>::Marker, Cons<T, Nil>>, <<Columns as IntoSelectTarget>::Marker as ResolveRow<T>>::Row>
pub fn returning<Columns>( self, columns: Columns, ) -> UpdateBuilder<'a, S, UpdateReturningSet, T, Scoped<<Columns as IntoSelectTarget>::Marker, Cons<T, Nil>>, <<Columns as IntoSelectTarget>::Marker as ResolveRow<T>>::Row>
Adds a RETURNING clause after WHERE
Source§impl<'a, Schema, State, Table, Marker, Row, Grouped> QueryBuilder<'a, Schema, State, Table, Marker, Row, Grouped>where
State: ExecutableState,
impl<'a, Schema, State, Table, Marker, Row, Grouped> QueryBuilder<'a, Schema, State, Table, Marker, Row, Grouped>where
State: ExecutableState,
Sourcepub fn comment(self, text: impl AsRef<str>) -> Self
pub fn comment(self, text: impl AsRef<str>) -> Self
Attaches a sqlcommenter comment to the query.
The comment is prepended to the generated SQL and wrapped in /* ... */.
Any /* or */ sequences in the input are sanitised so they can’t
terminate the surrounding comment.
Attaches a tag-style sqlcommenter comment to the query.
Each (key, value) pair is URL-encoded, sorted alphabetically, joined
with ,, and wrapped in /* ... */. Pairs with empty values are
skipped; an all-empty input is a no-op.
Source§impl<'a> QueryBuilder<'a>
impl<'a> QueryBuilder<'a>
Sourcepub const fn new<S>() -> QueryBuilder<'a, S, BuilderInit>
pub const fn new<S>() -> QueryBuilder<'a, S, BuilderInit>
Creates a new query builder for the given schema
Source§impl<'a, Schema> QueryBuilder<'a, Schema, BuilderInit>
impl<'a, Schema> QueryBuilder<'a, Schema, BuilderInit>
Sourcepub fn select<T>(
&self,
columns: T,
) -> SelectBuilder<'a, Schema, SelectInitial, (), T::Marker>
pub fn select<T>( &self, columns: T, ) -> SelectBuilder<'a, Schema, SelectInitial, (), T::Marker>
Begins a SELECT query with the specified columns.
Pass individual columns, tuples of columns, or () to select all columns.
Sourcepub fn select_distinct<T>(
&self,
columns: T,
) -> SelectBuilder<'a, Schema, SelectInitial, (), T::Marker>
pub fn select_distinct<T>( &self, columns: T, ) -> SelectBuilder<'a, Schema, SelectInitial, (), T::Marker>
Begins a SELECT DISTINCT query with the specified columns.
SELECT DISTINCT removes duplicate rows from the result set.
Sourcepub fn select_distinct_on<On, Columns>(
&self,
on: On,
columns: Columns,
) -> SelectBuilder<'a, Schema, SelectInitial, (), Columns::Marker>
pub fn select_distinct_on<On, Columns>( &self, on: On, columns: Columns, ) -> SelectBuilder<'a, Schema, SelectInitial, (), Columns::Marker>
Begins a SELECT DISTINCT ON query (PostgreSQL-specific).
Returns one row per distinct combination of the on columns.
Use with order_by to control which row is kept for each group.
Source§impl<'a, Schema> QueryBuilder<'a, Schema, CTEInit>
impl<'a, Schema> QueryBuilder<'a, Schema, CTEInit>
Sourcepub fn select<T>(
&self,
columns: T,
) -> SelectBuilder<'a, Schema, SelectInitial, (), T::Marker>
pub fn select<T>( &self, columns: T, ) -> SelectBuilder<'a, Schema, SelectInitial, (), T::Marker>
Begins a SELECT query with the specified columns after a CTE.
Sourcepub fn select_distinct<T>(
&self,
columns: T,
) -> SelectBuilder<'a, Schema, SelectInitial, (), T::Marker>
pub fn select_distinct<T>( &self, columns: T, ) -> SelectBuilder<'a, Schema, SelectInitial, (), T::Marker>
Begins a SELECT DISTINCT query with the specified columns after a CTE.
Sourcepub fn select_distinct_on<On, Columns>(
&self,
on: On,
columns: Columns,
) -> SelectBuilder<'a, Schema, SelectInitial, (), Columns::Marker>
pub fn select_distinct_on<On, Columns>( &self, on: On, columns: Columns, ) -> SelectBuilder<'a, Schema, SelectInitial, (), Columns::Marker>
Begins a SELECT DISTINCT ON query with the specified columns after a CTE.
Sourcepub fn insert<Table>(
&self,
table: Table,
) -> InsertBuilder<'a, Schema, InsertInitial, Table>where
Table: PostgresTable<'a>,
pub fn insert<Table>(
&self,
table: Table,
) -> InsertBuilder<'a, Schema, InsertInitial, Table>where
Table: PostgresTable<'a>,
Begins an INSERT query after a CTE.
Sourcepub fn update<Table>(
&self,
table: Table,
) -> UpdateBuilder<'a, Schema, UpdateInitial, Table>where
Table: PostgresTable<'a>,
pub fn update<Table>(
&self,
table: Table,
) -> UpdateBuilder<'a, Schema, UpdateInitial, Table>where
Table: PostgresTable<'a>,
Begins an UPDATE query after a CTE.
Sourcepub fn delete<Table>(
&self,
table: Table,
) -> DeleteBuilder<'a, Schema, DeleteInitial, Table>where
Table: PostgresTable<'a>,
pub fn delete<Table>(
&self,
table: Table,
) -> DeleteBuilder<'a, Schema, DeleteInitial, Table>where
Table: PostgresTable<'a>,
Begins a DELETE query after a CTE.
pub fn with<C>(&self, cte: &C) -> Selfwhere
C: CTEDefinition<'a>,
Source§impl<'a, Schema> QueryBuilder<'a, Schema, BuilderInit>
impl<'a, Schema> QueryBuilder<'a, Schema, BuilderInit>
Sourcepub fn insert<Table>(
&self,
table: Table,
) -> InsertBuilder<'a, Schema, InsertInitial, Table>where
Table: PostgresTable<'a>,
pub fn insert<Table>(
&self,
table: Table,
) -> InsertBuilder<'a, Schema, InsertInitial, Table>where
Table: PostgresTable<'a>,
Begins an INSERT query for the specified table.
Sourcepub fn update<Table>(
&self,
table: Table,
) -> UpdateBuilder<'a, Schema, UpdateInitial, Table>where
Table: PostgresTable<'a>,
pub fn update<Table>(
&self,
table: Table,
) -> UpdateBuilder<'a, Schema, UpdateInitial, Table>where
Table: PostgresTable<'a>,
Begins an UPDATE query for the specified table.
Sourcepub fn delete<Table>(
&self,
table: Table,
) -> DeleteBuilder<'a, Schema, DeleteInitial, Table>where
Table: PostgresTable<'a>,
pub fn delete<Table>(
&self,
table: Table,
) -> DeleteBuilder<'a, Schema, DeleteInitial, Table>where
Table: PostgresTable<'a>,
Begins a DELETE query for the specified table.
Sourcepub fn with<C>(&self, cte: &C) -> QueryBuilder<'a, Schema, CTEInit>where
C: CTEDefinition<'a>,
pub fn with<C>(&self, cte: &C) -> QueryBuilder<'a, Schema, CTEInit>where
C: CTEDefinition<'a>,
Starts a WITH (CTE) clause. Chain additional .with() calls to add more CTEs.
Trait Implementations§
Source§impl<'a, Schema: Clone, State: Clone, Table: Clone, Marker: Clone, Row: Clone, Grouped: Clone> Clone for QueryBuilder<'a, Schema, State, Table, Marker, Row, Grouped>
impl<'a, Schema: Clone, State: Clone, Table: Clone, Marker: Clone, Row: Clone, Grouped: Clone> Clone for QueryBuilder<'a, Schema, State, Table, Marker, Row, Grouped>
Source§fn clone(&self) -> QueryBuilder<'a, Schema, State, Table, Marker, Row, Grouped>
fn clone(&self) -> QueryBuilder<'a, Schema, State, Table, Marker, Row, Grouped>
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl<'a, Schema: Debug, State: Debug, Table: Debug, Marker: Debug, Row: Debug, Grouped: Debug> Debug for QueryBuilder<'a, Schema, State, Table, Marker, Row, Grouped>
impl<'a, Schema: Debug, State: Debug, Table: Debug, Marker: Debug, Row: Debug, Grouped: Debug> Debug for QueryBuilder<'a, Schema, State, Table, Marker, Row, Grouped>
Source§impl<'a, Schema: Default, State: Default, Table: Default, Marker: Default, Row: Default, Grouped: Default> Default for QueryBuilder<'a, Schema, State, Table, Marker, Row, Grouped>
impl<'a, Schema: Default, State: Default, Table: Default, Marker: Default, Row: Default, Grouped: Default> Default for QueryBuilder<'a, Schema, State, Table, Marker, Row, Grouped>
Source§fn default() -> QueryBuilder<'a, Schema, State, Table, Marker, Row, Grouped>
fn default() -> QueryBuilder<'a, Schema, State, Table, Marker, Row, Grouped>
Source§impl<'a, Schema, State, Table, Marker, Row, Grouped> ToSQL<'a, PostgresValue<'a>> for QueryBuilder<'a, Schema, State, Table, Marker, Row, Grouped>
impl<'a, Schema, State, Table, Marker, Row, Grouped> ToSQL<'a, PostgresValue<'a>> for QueryBuilder<'a, Schema, State, Table, Marker, Row, Grouped>
Auto Trait Implementations§
impl<'a, Schema = (), State = (), Table = (), Marker = (), Row = (), Grouped = ()> !RefUnwindSafe for QueryBuilder<'a, Schema, State, Table, Marker, Row, Grouped>
impl<'a, Schema = (), State = (), Table = (), Marker = (), Row = (), Grouped = ()> !UnwindSafe for QueryBuilder<'a, Schema, State, Table, Marker, Row, Grouped>
impl<'a, Schema, State, Table, Marker, Row, Grouped> Freeze for QueryBuilder<'a, Schema, State, Table, Marker, Row, Grouped>
impl<'a, Schema, State, Table, Marker, Row, Grouped> Send for QueryBuilder<'a, Schema, State, Table, Marker, Row, Grouped>
impl<'a, Schema, State, Table, Marker, Row, Grouped> Sync for QueryBuilder<'a, Schema, State, Table, Marker, Row, Grouped>
impl<'a, Schema, State, Table, Marker, Row, Grouped> Unpin for QueryBuilder<'a, Schema, State, Table, Marker, Row, Grouped>
impl<'a, Schema, State, Table, Marker, Row, Grouped> UnsafeUnpin for QueryBuilder<'a, Schema, State, Table, Marker, Row, Grouped>
Blanket Implementations§
Source§impl<'a, E> ArrayExprExt<'a> for Ewhere
E: Expr<'a, PostgresValue<'a>>,
impl<'a, E> ArrayExprExt<'a> for Ewhere
E: Expr<'a, PostgresValue<'a>>,
Source§fn array_contains<R>(
self,
other: R,
) -> SQLExpr<'a, PostgresValue<'a>, Boolean, NonNull, Scalar>where
R: ToSQL<'a, PostgresValue<'a>>,
fn array_contains<R>(
self,
other: R,
) -> SQLExpr<'a, PostgresValue<'a>, Boolean, NonNull, Scalar>where
R: ToSQL<'a, PostgresValue<'a>>,
Source§fn array_contained<R>(
self,
other: R,
) -> SQLExpr<'a, PostgresValue<'a>, Boolean, NonNull, Scalar>where
R: ToSQL<'a, PostgresValue<'a>>,
fn array_contained<R>(
self,
other: R,
) -> SQLExpr<'a, PostgresValue<'a>, Boolean, NonNull, Scalar>where
R: ToSQL<'a, PostgresValue<'a>>,
Source§fn array_overlaps<R>(
self,
other: R,
) -> SQLExpr<'a, PostgresValue<'a>, Boolean, NonNull, Scalar>where
R: ToSQL<'a, PostgresValue<'a>>,
fn array_overlaps<R>(
self,
other: R,
) -> SQLExpr<'a, PostgresValue<'a>, Boolean, NonNull, Scalar>where
R: ToSQL<'a, PostgresValue<'a>>,
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<'a, V, L, R> ComparisonOperand<'a, V, L> for R
impl<'a, V, L, R> ComparisonOperand<'a, V, L> for R
Source§impl<'a, V, E> ExprExt<'a, V> for E
impl<'a, V, E> ExprExt<'a, V> for E
Source§fn eq<R>(
self,
other: R,
) -> SQLExpr<'a, V, <<V as SQLParam>::DialectMarker as DialectTypes>::Bool, NonNull, <Self::Aggregate as AggOr<<R as ComparisonOperand<'a, V, Self>>::Aggregate>>::Output>where
R: ComparisonOperand<'a, V, Self>,
Self::SQLType: Compatible<<R as ComparisonOperand<'a, V, Self>>::SQLType>,
Self::Aggregate: AggOr<<R as ComparisonOperand<'a, V, Self>>::Aggregate>,
fn eq<R>(
self,
other: R,
) -> SQLExpr<'a, V, <<V as SQLParam>::DialectMarker as DialectTypes>::Bool, NonNull, <Self::Aggregate as AggOr<<R as ComparisonOperand<'a, V, Self>>::Aggregate>>::Output>where
R: ComparisonOperand<'a, V, Self>,
Self::SQLType: Compatible<<R as ComparisonOperand<'a, V, Self>>::SQLType>,
Self::Aggregate: AggOr<<R as ComparisonOperand<'a, V, Self>>::Aggregate>,
=). Read moreSource§fn ne<R>(
self,
other: R,
) -> SQLExpr<'a, V, <<V as SQLParam>::DialectMarker as DialectTypes>::Bool, NonNull, <Self::Aggregate as AggOr<<R as ComparisonOperand<'a, V, Self>>::Aggregate>>::Output>where
R: ComparisonOperand<'a, V, Self>,
Self::SQLType: Compatible<<R as ComparisonOperand<'a, V, Self>>::SQLType>,
Self::Aggregate: AggOr<<R as ComparisonOperand<'a, V, Self>>::Aggregate>,
fn ne<R>(
self,
other: R,
) -> SQLExpr<'a, V, <<V as SQLParam>::DialectMarker as DialectTypes>::Bool, NonNull, <Self::Aggregate as AggOr<<R as ComparisonOperand<'a, V, Self>>::Aggregate>>::Output>where
R: ComparisonOperand<'a, V, Self>,
Self::SQLType: Compatible<<R as ComparisonOperand<'a, V, Self>>::SQLType>,
Self::Aggregate: AggOr<<R as ComparisonOperand<'a, V, Self>>::Aggregate>,
<>). Read moreSource§fn gt<R>(
self,
other: R,
) -> SQLExpr<'a, V, <<V as SQLParam>::DialectMarker as DialectTypes>::Bool, NonNull, <Self::Aggregate as AggOr<<R as ComparisonOperand<'a, V, Self>>::Aggregate>>::Output>where
R: ComparisonOperand<'a, V, Self>,
Self::SQLType: Compatible<<R as ComparisonOperand<'a, V, Self>>::SQLType>,
Self::Aggregate: AggOr<<R as ComparisonOperand<'a, V, Self>>::Aggregate>,
fn gt<R>(
self,
other: R,
) -> SQLExpr<'a, V, <<V as SQLParam>::DialectMarker as DialectTypes>::Bool, NonNull, <Self::Aggregate as AggOr<<R as ComparisonOperand<'a, V, Self>>::Aggregate>>::Output>where
R: ComparisonOperand<'a, V, Self>,
Self::SQLType: Compatible<<R as ComparisonOperand<'a, V, Self>>::SQLType>,
Self::Aggregate: AggOr<<R as ComparisonOperand<'a, V, Self>>::Aggregate>,
>). Read moreSource§fn ge<R>(
self,
other: R,
) -> SQLExpr<'a, V, <<V as SQLParam>::DialectMarker as DialectTypes>::Bool, NonNull, <Self::Aggregate as AggOr<<R as ComparisonOperand<'a, V, Self>>::Aggregate>>::Output>where
R: ComparisonOperand<'a, V, Self>,
Self::SQLType: Compatible<<R as ComparisonOperand<'a, V, Self>>::SQLType>,
Self::Aggregate: AggOr<<R as ComparisonOperand<'a, V, Self>>::Aggregate>,
fn ge<R>(
self,
other: R,
) -> SQLExpr<'a, V, <<V as SQLParam>::DialectMarker as DialectTypes>::Bool, NonNull, <Self::Aggregate as AggOr<<R as ComparisonOperand<'a, V, Self>>::Aggregate>>::Output>where
R: ComparisonOperand<'a, V, Self>,
Self::SQLType: Compatible<<R as ComparisonOperand<'a, V, Self>>::SQLType>,
Self::Aggregate: AggOr<<R as ComparisonOperand<'a, V, Self>>::Aggregate>,
>=). Read moreSource§fn lt<R>(
self,
other: R,
) -> SQLExpr<'a, V, <<V as SQLParam>::DialectMarker as DialectTypes>::Bool, NonNull, <Self::Aggregate as AggOr<<R as ComparisonOperand<'a, V, Self>>::Aggregate>>::Output>where
R: ComparisonOperand<'a, V, Self>,
Self::SQLType: Compatible<<R as ComparisonOperand<'a, V, Self>>::SQLType>,
Self::Aggregate: AggOr<<R as ComparisonOperand<'a, V, Self>>::Aggregate>,
fn lt<R>(
self,
other: R,
) -> SQLExpr<'a, V, <<V as SQLParam>::DialectMarker as DialectTypes>::Bool, NonNull, <Self::Aggregate as AggOr<<R as ComparisonOperand<'a, V, Self>>::Aggregate>>::Output>where
R: ComparisonOperand<'a, V, Self>,
Self::SQLType: Compatible<<R as ComparisonOperand<'a, V, Self>>::SQLType>,
Self::Aggregate: AggOr<<R as ComparisonOperand<'a, V, Self>>::Aggregate>,
<). Read moreSource§fn le<R>(
self,
other: R,
) -> SQLExpr<'a, V, <<V as SQLParam>::DialectMarker as DialectTypes>::Bool, NonNull, <Self::Aggregate as AggOr<<R as ComparisonOperand<'a, V, Self>>::Aggregate>>::Output>where
R: ComparisonOperand<'a, V, Self>,
Self::SQLType: Compatible<<R as ComparisonOperand<'a, V, Self>>::SQLType>,
Self::Aggregate: AggOr<<R as ComparisonOperand<'a, V, Self>>::Aggregate>,
fn le<R>(
self,
other: R,
) -> SQLExpr<'a, V, <<V as SQLParam>::DialectMarker as DialectTypes>::Bool, NonNull, <Self::Aggregate as AggOr<<R as ComparisonOperand<'a, V, Self>>::Aggregate>>::Output>where
R: ComparisonOperand<'a, V, Self>,
Self::SQLType: Compatible<<R as ComparisonOperand<'a, V, Self>>::SQLType>,
Self::Aggregate: AggOr<<R as ComparisonOperand<'a, V, Self>>::Aggregate>,
<=). Read moreSource§fn like<R>(
self,
pattern: R,
) -> SQLExpr<'a, V, <<V as SQLParam>::DialectMarker as DialectTypes>::Bool, NonNull, <Self::Aggregate as AggOr<<R as ComparisonOperand<'a, V, Self>>::Aggregate>>::Output>where
R: ComparisonOperand<'a, V, Self>,
Self::SQLType: Compatible<<R as ComparisonOperand<'a, V, Self>>::SQLType> + Textual,
<R as ComparisonOperand<'a, V, Self>>::SQLType: Textual,
Self::Aggregate: AggOr<<R as ComparisonOperand<'a, V, Self>>::Aggregate>,
fn like<R>(
self,
pattern: R,
) -> SQLExpr<'a, V, <<V as SQLParam>::DialectMarker as DialectTypes>::Bool, NonNull, <Self::Aggregate as AggOr<<R as ComparisonOperand<'a, V, Self>>::Aggregate>>::Output>where
R: ComparisonOperand<'a, V, Self>,
Self::SQLType: Compatible<<R as ComparisonOperand<'a, V, Self>>::SQLType> + Textual,
<R as ComparisonOperand<'a, V, Self>>::SQLType: Textual,
Self::Aggregate: AggOr<<R as ComparisonOperand<'a, V, Self>>::Aggregate>,
Source§fn not_like<R>(
self,
pattern: R,
) -> SQLExpr<'a, V, <<V as SQLParam>::DialectMarker as DialectTypes>::Bool, NonNull, <Self::Aggregate as AggOr<<R as ComparisonOperand<'a, V, Self>>::Aggregate>>::Output>where
R: ComparisonOperand<'a, V, Self>,
Self::SQLType: Compatible<<R as ComparisonOperand<'a, V, Self>>::SQLType> + Textual,
<R as ComparisonOperand<'a, V, Self>>::SQLType: Textual,
Self::Aggregate: AggOr<<R as ComparisonOperand<'a, V, Self>>::Aggregate>,
fn not_like<R>(
self,
pattern: R,
) -> SQLExpr<'a, V, <<V as SQLParam>::DialectMarker as DialectTypes>::Bool, NonNull, <Self::Aggregate as AggOr<<R as ComparisonOperand<'a, V, Self>>::Aggregate>>::Output>where
R: ComparisonOperand<'a, V, Self>,
Self::SQLType: Compatible<<R as ComparisonOperand<'a, V, Self>>::SQLType> + Textual,
<R as ComparisonOperand<'a, V, Self>>::SQLType: Textual,
Self::Aggregate: AggOr<<R as ComparisonOperand<'a, V, Self>>::Aggregate>,
Source§fn is_null(
self,
) -> SQLExpr<'a, V, <<V as SQLParam>::DialectMarker as DialectTypes>::Bool, NonNull, Self::Aggregate>
fn is_null( self, ) -> SQLExpr<'a, V, <<V as SQLParam>::DialectMarker as DialectTypes>::Bool, NonNull, Self::Aggregate>
Source§fn is_not_null(
self,
) -> SQLExpr<'a, V, <<V as SQLParam>::DialectMarker as DialectTypes>::Bool, NonNull, Self::Aggregate>
fn is_not_null( self, ) -> SQLExpr<'a, V, <<V as SQLParam>::DialectMarker as DialectTypes>::Bool, NonNull, Self::Aggregate>
Source§fn between<L, H>(
self,
low: L,
high: H,
) -> SQLExpr<'a, V, <<V as SQLParam>::DialectMarker as DialectTypes>::Bool, NonNull, <<Self::Aggregate as AggOr<<L as ComparisonOperand<'a, V, Self>>::Aggregate>>::Output as AggOr<<H as ComparisonOperand<'a, V, Self>>::Aggregate>>::Output>where
L: ComparisonOperand<'a, V, Self>,
H: ComparisonOperand<'a, V, Self>,
Self::SQLType: Compatible<<L as ComparisonOperand<'a, V, Self>>::SQLType> + Compatible<<H as ComparisonOperand<'a, V, Self>>::SQLType>,
Self::Aggregate: AggOr<<L as ComparisonOperand<'a, V, Self>>::Aggregate>,
<Self::Aggregate as AggOr<<L as ComparisonOperand<'a, V, Self>>::Aggregate>>::Output: AggOr<<H as ComparisonOperand<'a, V, Self>>::Aggregate>,
fn between<L, H>(
self,
low: L,
high: H,
) -> SQLExpr<'a, V, <<V as SQLParam>::DialectMarker as DialectTypes>::Bool, NonNull, <<Self::Aggregate as AggOr<<L as ComparisonOperand<'a, V, Self>>::Aggregate>>::Output as AggOr<<H as ComparisonOperand<'a, V, Self>>::Aggregate>>::Output>where
L: ComparisonOperand<'a, V, Self>,
H: ComparisonOperand<'a, V, Self>,
Self::SQLType: Compatible<<L as ComparisonOperand<'a, V, Self>>::SQLType> + Compatible<<H as ComparisonOperand<'a, V, Self>>::SQLType>,
Self::Aggregate: AggOr<<L as ComparisonOperand<'a, V, Self>>::Aggregate>,
<Self::Aggregate as AggOr<<L as ComparisonOperand<'a, V, Self>>::Aggregate>>::Output: AggOr<<H as ComparisonOperand<'a, V, Self>>::Aggregate>,
Source§fn not_between<L, H>(
self,
low: L,
high: H,
) -> SQLExpr<'a, V, <<V as SQLParam>::DialectMarker as DialectTypes>::Bool, NonNull, <<Self::Aggregate as AggOr<<L as ComparisonOperand<'a, V, Self>>::Aggregate>>::Output as AggOr<<H as ComparisonOperand<'a, V, Self>>::Aggregate>>::Output>where
L: ComparisonOperand<'a, V, Self>,
H: ComparisonOperand<'a, V, Self>,
Self::SQLType: Compatible<<L as ComparisonOperand<'a, V, Self>>::SQLType> + Compatible<<H as ComparisonOperand<'a, V, Self>>::SQLType>,
Self::Aggregate: AggOr<<L as ComparisonOperand<'a, V, Self>>::Aggregate>,
<Self::Aggregate as AggOr<<L as ComparisonOperand<'a, V, Self>>::Aggregate>>::Output: AggOr<<H as ComparisonOperand<'a, V, Self>>::Aggregate>,
fn not_between<L, H>(
self,
low: L,
high: H,
) -> SQLExpr<'a, V, <<V as SQLParam>::DialectMarker as DialectTypes>::Bool, NonNull, <<Self::Aggregate as AggOr<<L as ComparisonOperand<'a, V, Self>>::Aggregate>>::Output as AggOr<<H as ComparisonOperand<'a, V, Self>>::Aggregate>>::Output>where
L: ComparisonOperand<'a, V, Self>,
H: ComparisonOperand<'a, V, Self>,
Self::SQLType: Compatible<<L as ComparisonOperand<'a, V, Self>>::SQLType> + Compatible<<H as ComparisonOperand<'a, V, Self>>::SQLType>,
Self::Aggregate: AggOr<<L as ComparisonOperand<'a, V, Self>>::Aggregate>,
<Self::Aggregate as AggOr<<L as ComparisonOperand<'a, V, Self>>::Aggregate>>::Output: AggOr<<H as ComparisonOperand<'a, V, Self>>::Aggregate>,
Source§fn in_array<I, R>(
self,
values: I,
) -> SQLExpr<'a, V, <<V as SQLParam>::DialectMarker as DialectTypes>::Bool, NonNull, Self::Aggregate>where
I: IntoIterator<Item = R>,
R: Expr<'a, V>,
Self::SQLType: Compatible<<R as Expr<'a, V>>::SQLType>,
fn in_array<I, R>(
self,
values: I,
) -> SQLExpr<'a, V, <<V as SQLParam>::DialectMarker as DialectTypes>::Bool, NonNull, Self::Aggregate>where
I: IntoIterator<Item = R>,
R: Expr<'a, V>,
Self::SQLType: Compatible<<R as Expr<'a, V>>::SQLType>,
Source§fn not_in_array<I, R>(
self,
values: I,
) -> SQLExpr<'a, V, <<V as SQLParam>::DialectMarker as DialectTypes>::Bool, NonNull, Self::Aggregate>where
I: IntoIterator<Item = R>,
R: Expr<'a, V>,
Self::SQLType: Compatible<<R as Expr<'a, V>>::SQLType>,
fn not_in_array<I, R>(
self,
values: I,
) -> SQLExpr<'a, V, <<V as SQLParam>::DialectMarker as DialectTypes>::Bool, NonNull, Self::Aggregate>where
I: IntoIterator<Item = R>,
R: Expr<'a, V>,
Self::SQLType: Compatible<<R as Expr<'a, V>>::SQLType>,
Source§fn in_subquery<S>(
self,
subquery: S,
) -> SQLExpr<'a, V, <<V as SQLParam>::DialectMarker as DialectTypes>::Bool, NonNull, Self::Aggregate>
fn in_subquery<S>( self, subquery: S, ) -> SQLExpr<'a, V, <<V as SQLParam>::DialectMarker as DialectTypes>::Bool, NonNull, Self::Aggregate>
Source§fn not_in_subquery<S>(
self,
subquery: S,
) -> SQLExpr<'a, V, <<V as SQLParam>::DialectMarker as DialectTypes>::Bool, NonNull, Self::Aggregate>
fn not_in_subquery<S>( self, subquery: S, ) -> SQLExpr<'a, V, <<V as SQLParam>::DialectMarker as DialectTypes>::Bool, NonNull, Self::Aggregate>
Source§fn is_distinct_from<R>(
self,
other: R,
) -> SQLExpr<'a, V, <<V as SQLParam>::DialectMarker as DialectTypes>::Bool, NonNull, <Self::Aggregate as AggOr<<R as ComparisonOperand<'a, V, Self>>::Aggregate>>::Output>where
R: ComparisonOperand<'a, V, Self>,
Self::SQLType: Compatible<<R as ComparisonOperand<'a, V, Self>>::SQLType>,
Self::Aggregate: AggOr<<R as ComparisonOperand<'a, V, Self>>::Aggregate>,
fn is_distinct_from<R>(
self,
other: R,
) -> SQLExpr<'a, V, <<V as SQLParam>::DialectMarker as DialectTypes>::Bool, NonNull, <Self::Aggregate as AggOr<<R as ComparisonOperand<'a, V, Self>>::Aggregate>>::Output>where
R: ComparisonOperand<'a, V, Self>,
Self::SQLType: Compatible<<R as ComparisonOperand<'a, V, Self>>::SQLType>,
Self::Aggregate: AggOr<<R as ComparisonOperand<'a, V, Self>>::Aggregate>,
Source§fn is_not_distinct_from<R>(
self,
other: R,
) -> SQLExpr<'a, V, <<V as SQLParam>::DialectMarker as DialectTypes>::Bool, NonNull, <Self::Aggregate as AggOr<<R as ComparisonOperand<'a, V, Self>>::Aggregate>>::Output>where
R: ComparisonOperand<'a, V, Self>,
Self::SQLType: Compatible<<R as ComparisonOperand<'a, V, Self>>::SQLType>,
Self::Aggregate: AggOr<<R as ComparisonOperand<'a, V, Self>>::Aggregate>,
fn is_not_distinct_from<R>(
self,
other: R,
) -> SQLExpr<'a, V, <<V as SQLParam>::DialectMarker as DialectTypes>::Bool, NonNull, <Self::Aggregate as AggOr<<R as ComparisonOperand<'a, V, Self>>::Aggregate>>::Output>where
R: ComparisonOperand<'a, V, Self>,
Self::SQLType: Compatible<<R as ComparisonOperand<'a, V, Self>>::SQLType>,
Self::Aggregate: AggOr<<R as ComparisonOperand<'a, V, Self>>::Aggregate>,
Source§impl<'a, E> JsonExprExt<'a> for Ewhere
E: Expr<'a, PostgresValue<'a>>,
impl<'a, E> JsonExprExt<'a> for Ewhere
E: Expr<'a, PostgresValue<'a>>,
Source§fn json_get(
self,
key: &'a str,
) -> SQLExpr<'a, PostgresValue<'a>, Json, Null, Scalar>
fn json_get( self, key: &'a str, ) -> SQLExpr<'a, PostgresValue<'a>, Json, Null, Scalar>
-> operator), returns JSON.Source§fn json_get_idx(
self,
index: i32,
) -> SQLExpr<'a, PostgresValue<'a>, Json, Null, Scalar>
fn json_get_idx( self, index: i32, ) -> SQLExpr<'a, PostgresValue<'a>, Json, Null, Scalar>
-> operator), returns JSON.Source§fn json_get_text(
self,
key: &'a str,
) -> SQLExpr<'a, PostgresValue<'a>, Text, Null, Scalar>
fn json_get_text( self, key: &'a str, ) -> SQLExpr<'a, PostgresValue<'a>, Text, Null, Scalar>
->> operator).Source§fn json_get_text_idx(
self,
index: i32,
) -> SQLExpr<'a, PostgresValue<'a>, Text, Null, Scalar>
fn json_get_text_idx( self, index: i32, ) -> SQLExpr<'a, PostgresValue<'a>, Text, Null, Scalar>
->> operator).Source§fn json_get_path(
self,
path: &'a str,
) -> SQLExpr<'a, PostgresValue<'a>, Json, Null, Scalar>
fn json_get_path( self, path: &'a str, ) -> SQLExpr<'a, PostgresValue<'a>, Json, Null, Scalar>
#> operator), returns JSON.Source§fn json_get_path_text(
self,
path: &'a str,
) -> SQLExpr<'a, PostgresValue<'a>, Text, Null, Scalar>
fn json_get_path_text( self, path: &'a str, ) -> SQLExpr<'a, PostgresValue<'a>, Text, Null, Scalar>
#>> operator).Source§fn jsonb_contains<R>(
self,
other: R,
) -> SQLExpr<'a, PostgresValue<'a>, Boolean, NonNull, Scalar>where
R: ToSQL<'a, PostgresValue<'a>>,
fn jsonb_contains<R>(
self,
other: R,
) -> SQLExpr<'a, PostgresValue<'a>, Boolean, NonNull, Scalar>where
R: ToSQL<'a, PostgresValue<'a>>,
@> operator).Source§fn jsonb_contained<R>(
self,
other: R,
) -> SQLExpr<'a, PostgresValue<'a>, Boolean, NonNull, Scalar>where
R: ToSQL<'a, PostgresValue<'a>>,
fn jsonb_contained<R>(
self,
other: R,
) -> SQLExpr<'a, PostgresValue<'a>, Boolean, NonNull, Scalar>where
R: ToSQL<'a, PostgresValue<'a>>,
<@ operator).Source§fn jsonb_exists_key(
self,
key: &'a str,
) -> SQLExpr<'a, PostgresValue<'a>, Boolean, NonNull, Scalar>
fn jsonb_exists_key( self, key: &'a str, ) -> SQLExpr<'a, PostgresValue<'a>, Boolean, NonNull, Scalar>
? operator).impl<Mk> MarkerAggValidFor<()> for Mk
Source§impl<'a, E> RegexExprExt<'a> for Ewhere
E: Expr<'a, PostgresValue<'a>>,
impl<'a, E> RegexExprExt<'a> for Ewhere
E: Expr<'a, PostgresValue<'a>>,
Source§fn regex_match(
self,
pattern: &'a str,
) -> SQLExpr<'a, PostgresValue<'a>, Boolean, NonNull, Scalar>
fn regex_match( self, pattern: &'a str, ) -> SQLExpr<'a, PostgresValue<'a>, Boolean, NonNull, Scalar>
~ operator).Source§fn regex_match_ci(
self,
pattern: &'a str,
) -> SQLExpr<'a, PostgresValue<'a>, Boolean, NonNull, Scalar>
fn regex_match_ci( self, pattern: &'a str, ) -> SQLExpr<'a, PostgresValue<'a>, Boolean, NonNull, Scalar>
~* operator).Source§fn regex_not_match(
self,
pattern: &'a str,
) -> SQLExpr<'a, PostgresValue<'a>, Boolean, NonNull, Scalar>
fn regex_not_match( self, pattern: &'a str, ) -> SQLExpr<'a, PostgresValue<'a>, Boolean, NonNull, Scalar>
!~ operator).Source§fn regex_not_match_ci(
self,
pattern: &'a str,
) -> SQLExpr<'a, PostgresValue<'a>, Boolean, NonNull, Scalar>
fn regex_not_match_ci( self, pattern: &'a str, ) -> SQLExpr<'a, PostgresValue<'a>, Boolean, NonNull, Scalar>
!~* operator).