Trait InsertIfChanged

Source
pub trait InsertIfChanged<E: Entity> {
    // Required methods
    fn insert_if_changed<'a>(
        &'a mut self,
        k: E::Key,
        v: E,
        track: &'a E::TrackCtx,
    ) -> BoxFuture<'a, Result<()>>;
    fn insert_all_if_changed<'a, I>(
        &'a mut self,
        iter: I,
        track: &'a E::TrackCtx,
    ) -> BoxFuture<'a, Result<usize>>
       where I: IntoIterator<Item = (E::Key, E)> + Send + 'a,
             I::IntoIter: Send;
}

Required Methods§

Source

fn insert_if_changed<'a>( &'a mut self, k: E::Key, v: E, track: &'a E::TrackCtx, ) -> BoxFuture<'a, Result<()>>

Source

fn insert_all_if_changed<'a, I>( &'a mut self, iter: I, track: &'a E::TrackCtx, ) -> BoxFuture<'a, Result<usize>>
where I: IntoIterator<Item = (E::Key, E)> + Send + 'a, I::IntoIter: Send,

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl<'a, E> InsertIfChanged<E> for CtxTransaction<'a>
where Ctx: AsRefAsync<E::Tbl>, E: Entity + EntityAccessor + LogAccessor, for<'b> TblTransaction<'a, 'b, E>: InsertIfChanged<E>,

Source§

impl<E> InsertIfChanged<E> for TblTransaction<'_, '_, E>
where E: Entity + EntityAccessor + PartialEq, Self: Get<E> + Insert<E>,