pub trait UpdateAndFetchResults<Changes, Output>: AsyncConnectionwhere
    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.

Implementors§

source§

impl<'b, Changes, Output, Tab, V> UpdateAndFetchResults<Changes, Output> for AsyncPgConnectionwhere 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,