Module diesel::query_builder [] [src]

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 self::bind_collector::BindCollector;

Modules

bind_collector

Types related to managing bind parameters during query construction.

Structs

AstPass

The primary type used when walking a Diesel AST during query execution.

DebugQuery

A struct that implements fmt::Display and fmt::Debug to show the SQL representation of a query.

DeleteStatement

Represents a SQL DELETE statement.

IncompleteInsertStatement

The structure returned by insert_into.

InsertStatement

A fully constructed insert statement.

SqlQuery

The return value of sql_query.

UpdateStatement

Represents a complete UPDATE statement.

Traits

AsChangeset

Types which can be passed to update.set.

AsQuery

Types that can be converted into a complete, typed SQL query.

IntoUpdateTarget

A type which can be passed to update or delete.

Query

A complete SQL query with a return type.

QueryBuilder

Constructs a SQL query from a Diesel AST.

QueryFragment

An untyped fragment of SQL.

QueryId

Uniquely identifies queries by their type for the purpose of prepared statement caching.

SelectQuery

Indicates that a type is a SELECT statement.

UndecoratedInsertRecord

Marker trait to indicate that no additional operations have been added to a record for insert.

Functions

debug_query

Takes a query QueryFragment expression as an argument and returns a type that implements fmt::Display and fmt::Debug to show the query.

Type Definitions

BoxedDeleteStatement

A DELETE statement with a boxed WHERE clause

BoxedUpdateStatement

An UPDATE statement with a boxed WHERE clause.

BuildQueryResult

A specialized Result type used with the query builder.

IncompleteUpdateStatement [
Deprecated
]

The type returned by update. The only thing you can do with this type is call set on it.