Expand description
Contains traits responsible for the actual construction of SQL statements
The types in this module are part of Diesel’s public API, but are generally only useful for implementing Diesel plugins. Applications should generally not need to care about the types inside of this module.
Re-exports§
pub use crate::pg::query_builder::tablesample::TablesampleMethod;
postgres_backend
Modules§
- Types related to managing bind parameters during query construction.
Structs§
- All
i-implement-a-third-party-backend-and-opt-into-breaking-changes
Keep duplicate rows in the result - The primary type used when walking a Diesel AST during query execution.
- AstPass
ToSql Options i-implement-a-third-party-backend-and-opt-into-breaking-changes
This is used to pass down additional settings to theAstPass
when rendering the sql string. - Batch
Insert i-implement-a-third-party-backend-and-opt-into-breaking-changes
This type represents a batch insert clause, which allows to insert multiple rows at once. - Boxed
Limit Offset Clause i-implement-a-third-party-backend-and-opt-into-breaking-changes
A boxed variant ofLimitOffsetClause
- Boxed
Select Statement i-implement-a-third-party-backend-and-opt-into-breaking-changes
This type represents a boxed select query - See
SqlQuery::into_boxed
. - Collected
Query i-implement-a-third-party-backend-and-opt-into-breaking-changes
A SQL query variant with already collected bind data which can be moved - A struct that implements
fmt::Display
andfmt::Debug
to show the SQL representation of a query. - Default
Values i-implement-a-third-party-backend-and-opt-into-breaking-changes
- Represents a SQL
DELETE
statement. - Distinct
i-implement-a-third-party-backend-and-opt-into-breaking-changes
Remove duplicate rows in the result, this is the default behavior ofUNION
,INTERSECT
andEXCEPT
- Except
i-implement-a-third-party-backend-and-opt-into-breaking-changes
Computes the set difference of the rows returned by the involvedSELECT
statements using SQLEXCEPT
- From
Clause i-implement-a-third-party-backend-and-opt-into-breaking-changes
- The structure returned by
insert_into
. - Insert
OrIgnore i-implement-a-third-party-backend-and-opt-into-breaking-changes
A marker type for insert or ignore statements - Insert
Statement i-implement-a-third-party-backend-and-opt-into-breaking-changes
A fully constructed insert statement. - Intersect
i-implement-a-third-party-backend-and-opt-into-breaking-changes
Computes the set intersection of the rows returned by the involvedSELECT
statements using SQLINTERSECT
- Limit
Clause i-implement-a-third-party-backend-and-opt-into-breaking-changes
A query node representing a limit clause - Limit
Offset Clause i-implement-a-third-party-backend-and-opt-into-breaking-changes
A helper query node that contains both limit and offset clauses - NoFrom
Clause i-implement-a-third-party-backend-and-opt-into-breaking-changes
This type represents a not existing from clause - NoLimit
Clause i-implement-a-third-party-backend-and-opt-into-breaking-changes
A query node indicating the absence of a limit clause - NoOffset
Clause i-implement-a-third-party-backend-and-opt-into-breaking-changes
A query node indicating the absence of an offset clause - NoOrder
Clause i-implement-a-third-party-backend-and-opt-into-breaking-changes
- Offset
Clause i-implement-a-third-party-backend-and-opt-into-breaking-changes
A query node representing an offset clause - Only
postgres_backend
Represents a query with anONLY
clause. - Order
Clause i-implement-a-third-party-backend-and-opt-into-breaking-changes
- Parenthesis
Wrapper i-implement-a-third-party-backend-and-opt-into-breaking-changes
Wrapper used to wrap rhs sql in parenthesis when supported by backend - Replace
i-implement-a-third-party-backend-and-opt-into-breaking-changes
A marker type for replace statements - Returning
Clause i-implement-a-third-party-backend-and-opt-into-breaking-changes
This type represents a SQLReturning
clause - Select
Statement i-implement-a-third-party-backend-and-opt-into-breaking-changes
This type represents a select query - The return value of
sql_query
. - Tablesample
postgres_backend
Represents a query with aTABLESAMPLE
clause. - Union
i-implement-a-third-party-backend-and-opt-into-breaking-changes
Computes the set union of the rows returned by the involvedSELECT
statements using SQLUNION
- Represents a complete
UPDATE
statement. - Values
Clause i-implement-a-third-party-backend-and-opt-into-breaking-changes
This type represents a values clause used as part of insert statements
Traits§
- Types which can be passed to
update.set
. - Types that can be converted into a complete, typed SQL query.
- A type which manages serializing bind parameters during query construction.
- Interface to add information to conflict targets. Designed to be open for further additions to conflict targets like constraints
- A trait used to construct type erased boxed variant of the current query node
- Moveable
Bind Collector i-implement-a-third-party-backend-and-opt-into-breaking-changes
A movable version of the bind collector which allows it to be extracted, moved and refilled. - A complete SQL query with a return type.
- Constructs a SQL query from a Diesel AST.
- An untyped fragment of SQL.
- Uniquely identifies queries by their type for the purpose of prepared statement caching.
- Select
Clause Expression i-implement-a-third-party-backend-and-opt-into-breaking-changes
Specialised variant ofExpression
for select clause types - Indicates that a type is a
SELECT
statement. - Supports
Combination Clause i-implement-a-third-party-backend-and-opt-into-breaking-changes
Marker trait used to indicate whenever a backend supports given combination - Undecorated
Insert Record i-implement-a-third-party-backend-and-opt-into-breaking-changes
Marker trait to indicate that no additional operations have been added to a record for insert.
Functions§
- Takes a query
QueryFragment
expression as an argument and returns a type that implementsfmt::Display
andfmt::Debug
to show the query.
Type Aliases§
- A
DELETE
statement with a boxedWHERE
clause - An
UPDATE
statement with a boxedWHERE
clause. - A specialized Result type used with the query builder.
- Represents the return type of
diesel::insert_or_ignore_into
- Represents the return type of
diesel::replace_into
- Represents a complete
INSERT OR IGNORE
statement. - Represents a complete
INSERT OR REPLACE
statement.
Derive Macros§
- Implements
AsChangeset
- Implements
QueryId