Trait diesel::query_dsl::UpdateAndFetchResults
source · pub trait UpdateAndFetchResults<Changes, Output>: Connection {
// Required method
fn update_and_fetch(&mut self, changeset: Changes) -> QueryResult<Output>;
}
Expand description
A trait defining how to update a record and fetch the updated entry on a certain backend.
The only case where it is required to work with this trait is while
implementing a new connection type.
Otherwise use SaveChangesDsl
For implementing this trait for a custom backend:
- The
Changes
generic parameter represents the changeset that should be stored - The
Output
generic parameter represents the type of the response.
Required Methods§
sourcefn update_and_fetch(&mut self, changeset: Changes) -> QueryResult<Output>
fn update_and_fetch(&mut self, changeset: Changes) -> QueryResult<Output>
See the traits documentation.
Implementors§
impl<'b, Changes, Output> UpdateAndFetchResults<Changes, Output> for MysqlConnectionwhere Changes: Copy + Identifiable + AsChangeset<Target = <Changes as HasTable>::Table> + IntoUpdateTarget, Changes::Table: FindDsl<Changes::Id>, Update<Changes, Changes>: ExecuteDsl<MysqlConnection>, Find<Changes::Table, Changes::Id>: LoadQuery<'b, MysqlConnection, Output>, <Changes::Table as Table>::AllColumns: ValidGrouping<()>, <<Changes::Table as Table>::AllColumns as ValidGrouping<()>>::IsAggregate: MixedAggregates<No, Output = No>,
Available on crate feature
mysql
only.impl<'b, Changes, Output> UpdateAndFetchResults<Changes, Output> for PgConnectionwhere Changes: Copy + AsChangeset<Target = <Changes as HasTable>::Table> + IntoUpdateTarget, Update<Changes, Changes>: LoadQuery<'b, PgConnection, Output>, <Changes::Table as Table>::AllColumns: ValidGrouping<()>, <<Changes::Table as Table>::AllColumns as ValidGrouping<()>>::IsAggregate: MixedAggregates<No, Output = No>,
Available on crate feature
postgres
only.impl<'b, Changes, Output> UpdateAndFetchResults<Changes, Output> for SqliteConnectionwhere Changes: Copy + Identifiable + AsChangeset<Target = <Changes as HasTable>::Table> + IntoUpdateTarget, Changes::Table: FindDsl<Changes::Id>, Update<Changes, Changes>: ExecuteDsl<SqliteConnection>, Find<Changes::Table, Changes::Id>: LoadQuery<'b, SqliteConnection, Output>, <Changes::Table as Table>::AllColumns: ValidGrouping<()>, <<Changes::Table as Table>::AllColumns as ValidGrouping<()>>::IsAggregate: MixedAggregates<No, Output = No>,
Available on crate feature
sqlite
only.impl<Changes, Output, M> UpdateAndFetchResults<Changes, Output> for PooledConnection<M>where M: ManageConnection, M::Connection: UpdateAndFetchResults<Changes, Output>, Self: Connection,
Available on crate feature
r2d2
only.