Trait diesel_async::UpdateAndFetchResults

source ·
pub trait UpdateAndFetchResults<Changes, Output>: AsyncConnection
where Changes: Identifiable + HasTable,
{ // Required method fn update_and_fetch<'life0, 'async_trait>( &'life0 mut self, changeset: Changes, ) -> Pin<Box<dyn Future<Output = QueryResult<Output>> + Send + 'async_trait>> where Changes: 'async_trait, Self: 'async_trait, 'life0: 'async_trait; }
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§

source

fn update_and_fetch<'life0, 'async_trait>( &'life0 mut self, changeset: Changes, ) -> Pin<Box<dyn Future<Output = QueryResult<Output>> + Send + 'async_trait>>
where Changes: 'async_trait, Self: 'async_trait, 'life0: 'async_trait,

See the traits documentation.

Object Safety§

This trait is not object safe.

Implementors§

source§

impl<'b, Changes, Output, Tab, V> UpdateAndFetchResults<Changes, Output> for AsyncPgConnection
where Output: Send, Changes: Copy + AsChangeset<Target = Tab> + Send + Identifiable<Table = Tab>, Tab: Table + FindDsl<Changes::Id> + 'b, Find<Tab, Changes::Id>: IntoUpdateTarget<Table = Tab, WhereClause = V>, UpdateStatement<Tab, V, Changes::Changeset>: AsQuery, Update<Changes, Changes>: LoadQuery<'b, Self, Output>, V: Send + 'b, Changes::Changeset: Send + 'b, Tab::FromClause: Send,

source§

impl<Changes, Output, Conn> UpdateAndFetchResults<Changes, Output> for Conn
where Conn: DerefMut + Send, Changes: Identifiable + HasTable + Send, Conn::Target: UpdateAndFetchResults<Changes, Output>,