[][src]Trait c3p0_common_async::json::C3p0JsonAsync

pub trait C3p0JsonAsync<DATA, CODEC>: Clone where
    DATA: Clone + Serialize + DeserializeOwned,
    CODEC: JsonCodec<DATA>, 
{ type CONN; fn codec(&self) -> &CODEC;
#[must_use] fn create_table_if_not_exists<'life0, 'life1, 'async_trait>(
        &'life0 self,
        conn: &'life1 mut Self::CONN
    ) -> Pin<Box<dyn Future<Output = Result<(), C3p0Error>> + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
;
#[must_use] fn drop_table_if_exists<'life0, 'life1, 'async_trait>(
        &'life0 self,
        conn: &'life1 mut Self::CONN,
        cascade: bool
    ) -> Pin<Box<dyn Future<Output = Result<(), C3p0Error>> + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
;
#[must_use] fn count_all<'life0, 'life1, 'async_trait>(
        &'life0 self,
        conn: &'life1 mut Self::CONN
    ) -> Pin<Box<dyn Future<Output = Result<u64, C3p0Error>> + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
;
#[must_use] fn exists_by_id<'a, 'life0, 'async_trait, ID: Into<&'a IdType>>(
        &'a self,
        conn: &'life0 mut Self::CONN,
        id: ID
    ) -> Pin<Box<dyn Future<Output = Result<bool, C3p0Error>> + 'async_trait>>
    where
        'a: 'async_trait,
        ID: 'async_trait,
        'life0: 'async_trait,
        Self: 'async_trait
;
#[must_use] fn fetch_all<'life0, 'life1, 'async_trait>(
        &'life0 self,
        conn: &'life1 mut Self::CONN
    ) -> Pin<Box<dyn Future<Output = Result<Vec<Model<DATA>>, C3p0Error>> + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
;
#[must_use] fn fetch_all_for_update<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        conn: &'life1 mut Self::CONN,
        for_update: &'life2 ForUpdate
    ) -> Pin<Box<dyn Future<Output = Result<Vec<Model<DATA>>, C3p0Error>> + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
;
#[must_use] fn fetch_one_optional_by_id<'a, 'life0, 'async_trait, ID: Into<&'a IdType>>(
        &'a self,
        conn: &'life0 mut Self::CONN,
        id: ID
    ) -> Pin<Box<dyn Future<Output = Result<Option<Model<DATA>>, C3p0Error>> + 'async_trait>>
    where
        'a: 'async_trait,
        ID: 'async_trait,
        'life0: 'async_trait,
        Self: 'async_trait
;
#[must_use] fn fetch_one_optional_by_id_for_update<'a, 'life0, 'life1, 'async_trait, ID: Into<&'a IdType>>(
        &'a self,
        conn: &'life0 mut Self::CONN,
        id: ID,
        for_update: &'life1 ForUpdate
    ) -> Pin<Box<dyn Future<Output = Result<Option<Model<DATA>>, C3p0Error>> + 'async_trait>>
    where
        'a: 'async_trait,
        ID: 'async_trait,
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
;
#[must_use] fn fetch_one_by_id<'a, 'life0, 'async_trait, ID: Into<&'a IdType>>(
        &'a self,
        conn: &'life0 mut Self::CONN,
        id: ID
    ) -> Pin<Box<dyn Future<Output = Result<Model<DATA>, C3p0Error>> + 'async_trait>>
    where
        'a: 'async_trait,
        ID: 'async_trait,
        'life0: 'async_trait,
        Self: 'async_trait
;
#[must_use] fn fetch_one_by_id_for_update<'a, 'life0, 'life1, 'async_trait, ID: Into<&'a IdType>>(
        &'a self,
        conn: &'life0 mut Self::CONN,
        id: ID,
        for_update: &'life1 ForUpdate
    ) -> Pin<Box<dyn Future<Output = Result<Model<DATA>, C3p0Error>> + 'async_trait>>
    where
        'a: 'async_trait,
        ID: 'async_trait,
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
;
#[must_use] fn delete<'life0, 'life1, 'async_trait>(
        &'life0 self,
        conn: &'life1 mut Self::CONN,
        obj: Model<DATA>
    ) -> Pin<Box<dyn Future<Output = Result<Model<DATA>, C3p0Error>> + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
;
#[must_use] fn delete_all<'life0, 'life1, 'async_trait>(
        &'life0 self,
        conn: &'life1 mut Self::CONN
    ) -> Pin<Box<dyn Future<Output = Result<u64, C3p0Error>> + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
;
#[must_use] fn delete_by_id<'a, 'life0, 'async_trait, ID: Into<&'a IdType>>(
        &'a self,
        conn: &'life0 mut Self::CONN,
        id: ID
    ) -> Pin<Box<dyn Future<Output = Result<u64, C3p0Error>> + 'async_trait>>
    where
        'a: 'async_trait,
        ID: 'async_trait,
        'life0: 'async_trait,
        Self: 'async_trait
;
#[must_use] fn save<'life0, 'life1, 'async_trait>(
        &'life0 self,
        conn: &'life1 mut Self::CONN,
        obj: NewModel<DATA>
    ) -> Pin<Box<dyn Future<Output = Result<Model<DATA>, C3p0Error>> + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
;
#[must_use] fn update<'life0, 'life1, 'async_trait>(
        &'life0 self,
        conn: &'life1 mut Self::CONN,
        obj: Model<DATA>
    ) -> Pin<Box<dyn Future<Output = Result<Model<DATA>, C3p0Error>> + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; }

Associated Types

type CONN

Loading content...

Required methods

fn codec(&self) -> &CODEC

#[must_use]fn create_table_if_not_exists<'life0, 'life1, 'async_trait>(
    &'life0 self,
    conn: &'life1 mut Self::CONN
) -> Pin<Box<dyn Future<Output = Result<(), C3p0Error>> + 'async_trait>> where
    'life0: 'async_trait,
    'life1: 'async_trait,
    Self: 'async_trait, 

#[must_use]fn drop_table_if_exists<'life0, 'life1, 'async_trait>(
    &'life0 self,
    conn: &'life1 mut Self::CONN,
    cascade: bool
) -> Pin<Box<dyn Future<Output = Result<(), C3p0Error>> + 'async_trait>> where
    'life0: 'async_trait,
    'life1: 'async_trait,
    Self: 'async_trait, 

#[must_use]fn count_all<'life0, 'life1, 'async_trait>(
    &'life0 self,
    conn: &'life1 mut Self::CONN
) -> Pin<Box<dyn Future<Output = Result<u64, C3p0Error>> + 'async_trait>> where
    'life0: 'async_trait,
    'life1: 'async_trait,
    Self: 'async_trait, 

#[must_use]fn exists_by_id<'a, 'life0, 'async_trait, ID: Into<&'a IdType>>(
    &'a self,
    conn: &'life0 mut Self::CONN,
    id: ID
) -> Pin<Box<dyn Future<Output = Result<bool, C3p0Error>> + 'async_trait>> where
    'a: 'async_trait,
    ID: 'async_trait,
    'life0: 'async_trait,
    Self: 'async_trait, 

#[must_use]fn fetch_all<'life0, 'life1, 'async_trait>(
    &'life0 self,
    conn: &'life1 mut Self::CONN
) -> Pin<Box<dyn Future<Output = Result<Vec<Model<DATA>>, C3p0Error>> + 'async_trait>> where
    'life0: 'async_trait,
    'life1: 'async_trait,
    Self: 'async_trait, 

#[must_use]fn fetch_all_for_update<'life0, 'life1, 'life2, 'async_trait>(
    &'life0 self,
    conn: &'life1 mut Self::CONN,
    for_update: &'life2 ForUpdate
) -> Pin<Box<dyn Future<Output = Result<Vec<Model<DATA>>, C3p0Error>> + 'async_trait>> where
    'life0: 'async_trait,
    'life1: 'async_trait,
    'life2: 'async_trait,
    Self: 'async_trait, 

#[must_use]fn fetch_one_optional_by_id<'a, 'life0, 'async_trait, ID: Into<&'a IdType>>(
    &'a self,
    conn: &'life0 mut Self::CONN,
    id: ID
) -> Pin<Box<dyn Future<Output = Result<Option<Model<DATA>>, C3p0Error>> + 'async_trait>> where
    'a: 'async_trait,
    ID: 'async_trait,
    'life0: 'async_trait,
    Self: 'async_trait, 

#[must_use]fn fetch_one_optional_by_id_for_update<'a, 'life0, 'life1, 'async_trait, ID: Into<&'a IdType>>(
    &'a self,
    conn: &'life0 mut Self::CONN,
    id: ID,
    for_update: &'life1 ForUpdate
) -> Pin<Box<dyn Future<Output = Result<Option<Model<DATA>>, C3p0Error>> + 'async_trait>> where
    'a: 'async_trait,
    ID: 'async_trait,
    'life0: 'async_trait,
    'life1: 'async_trait,
    Self: 'async_trait, 

#[must_use]fn fetch_one_by_id<'a, 'life0, 'async_trait, ID: Into<&'a IdType>>(
    &'a self,
    conn: &'life0 mut Self::CONN,
    id: ID
) -> Pin<Box<dyn Future<Output = Result<Model<DATA>, C3p0Error>> + 'async_trait>> where
    'a: 'async_trait,
    ID: 'async_trait,
    'life0: 'async_trait,
    Self: 'async_trait, 

#[must_use]fn fetch_one_by_id_for_update<'a, 'life0, 'life1, 'async_trait, ID: Into<&'a IdType>>(
    &'a self,
    conn: &'life0 mut Self::CONN,
    id: ID,
    for_update: &'life1 ForUpdate
) -> Pin<Box<dyn Future<Output = Result<Model<DATA>, C3p0Error>> + 'async_trait>> where
    'a: 'async_trait,
    ID: 'async_trait,
    'life0: 'async_trait,
    'life1: 'async_trait,
    Self: 'async_trait, 

#[must_use]fn delete<'life0, 'life1, 'async_trait>(
    &'life0 self,
    conn: &'life1 mut Self::CONN,
    obj: Model<DATA>
) -> Pin<Box<dyn Future<Output = Result<Model<DATA>, C3p0Error>> + 'async_trait>> where
    'life0: 'async_trait,
    'life1: 'async_trait,
    Self: 'async_trait, 

#[must_use]fn delete_all<'life0, 'life1, 'async_trait>(
    &'life0 self,
    conn: &'life1 mut Self::CONN
) -> Pin<Box<dyn Future<Output = Result<u64, C3p0Error>> + 'async_trait>> where
    'life0: 'async_trait,
    'life1: 'async_trait,
    Self: 'async_trait, 

#[must_use]fn delete_by_id<'a, 'life0, 'async_trait, ID: Into<&'a IdType>>(
    &'a self,
    conn: &'life0 mut Self::CONN,
    id: ID
) -> Pin<Box<dyn Future<Output = Result<u64, C3p0Error>> + 'async_trait>> where
    'a: 'async_trait,
    ID: 'async_trait,
    'life0: 'async_trait,
    Self: 'async_trait, 

#[must_use]fn save<'life0, 'life1, 'async_trait>(
    &'life0 self,
    conn: &'life1 mut Self::CONN,
    obj: NewModel<DATA>
) -> Pin<Box<dyn Future<Output = Result<Model<DATA>, C3p0Error>> + 'async_trait>> where
    'life0: 'async_trait,
    'life1: 'async_trait,
    Self: 'async_trait, 

#[must_use]fn update<'life0, 'life1, 'async_trait>(
    &'life0 self,
    conn: &'life1 mut Self::CONN,
    obj: Model<DATA>
) -> Pin<Box<dyn Future<Output = Result<Model<DATA>, C3p0Error>> + 'async_trait>> where
    'life0: 'async_trait,
    'life1: 'async_trait,
    Self: 'async_trait, 

Loading content...

Implementors

Loading content...