pub struct DbSession<C>where
C: CanisterKind,{ /* private fields */ }Expand description
DbSession Database handle plus a debug flag that controls executor verbosity.
Implementations§
Source§impl<C> DbSession<C>where
C: CanisterKind,
impl<C> DbSession<C>where
C: CanisterKind,
Sourcepub const fn new(db: Db<C>) -> DbSession<C>
pub const fn new(db: Db<C>) -> DbSession<C>
Create a new session scoped to the provided database.
Sourcepub const fn debug(self) -> DbSession<C>
pub const fn debug(self) -> DbSession<C>
Enable debug logging for subsequent queries in this session.
Sourcepub const fn load<E>(&self) -> LoadExecutor<E>where
E: EntityKind<Canister = C>,
pub const fn load<E>(&self) -> LoadExecutor<E>where
E: EntityKind<Canister = C>,
Get a LoadExecutor for building and executing queries that read entities.
Sourcepub const fn save<E>(&self) -> SaveExecutor<E>where
E: EntityKind<Canister = C>,
pub const fn save<E>(&self) -> SaveExecutor<E>where
E: EntityKind<Canister = C>,
Get a SaveExecutor for inserting or updating entities.
Normally you will use the higher-level create/replace/update shortcuts instead.
Sourcepub const fn delete<E>(&self) -> DeleteExecutor<E>where
E: EntityKind<Canister = C>,
pub const fn delete<E>(&self) -> DeleteExecutor<E>where
E: EntityKind<Canister = C>,
Get a DeleteExecutor for deleting entities by key or query.
Sourcepub fn insert<E>(&self, entity: E) -> Result<E, Error>where
E: EntityKind<Canister = C>,
pub fn insert<E>(&self, entity: E) -> Result<E, Error>where
E: EntityKind<Canister = C>,
Insert a new entity, returning the stored value.
Sourcepub fn replace<E>(&self, entity: E) -> Result<E, Error>where
E: EntityKind<Canister = C>,
pub fn replace<E>(&self, entity: E) -> Result<E, Error>where
E: EntityKind<Canister = C>,
Replace an existing entity or insert it if it does not yet exist.
Sourcepub fn update<E>(&self, entity: E) -> Result<E, Error>where
E: EntityKind<Canister = C>,
pub fn update<E>(&self, entity: E) -> Result<E, Error>where
E: EntityKind<Canister = C>,
Partially update an existing entity.
Sourcepub fn insert_view<E>(
&self,
view: <E as View>::ViewType,
) -> Result<<E as View>::ViewType, Error>where
E: EntityKind<Canister = C>,
pub fn insert_view<E>(
&self,
view: <E as View>::ViewType,
) -> Result<<E as View>::ViewType, Error>where
E: EntityKind<Canister = C>,
Insert a new view value for an entity.
Sourcepub fn replace_view<E>(
&self,
view: <E as View>::ViewType,
) -> Result<<E as View>::ViewType, Error>where
E: EntityKind<Canister = C>,
pub fn replace_view<E>(
&self,
view: <E as View>::ViewType,
) -> Result<<E as View>::ViewType, Error>where
E: EntityKind<Canister = C>,
Replace an existing view or insert it if it does not yet exist.
Sourcepub fn update_view<E>(
&self,
view: <E as View>::ViewType,
) -> Result<<E as View>::ViewType, Error>where
E: EntityKind<Canister = C>,
pub fn update_view<E>(
&self,
view: <E as View>::ViewType,
) -> Result<<E as View>::ViewType, Error>where
E: EntityKind<Canister = C>,
Partially update an existing view.
Auto Trait Implementations§
impl<C> Freeze for DbSession<C>
impl<C> RefUnwindSafe for DbSession<C>where
C: RefUnwindSafe,
impl<C> Send for DbSession<C>where
C: Send,
impl<C> Sync for DbSession<C>where
C: Sync,
impl<C> Unpin for DbSession<C>where
C: Unpin,
impl<C> UnwindSafe for DbSession<C>where
C: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more