Skip to main content

Session

Trait Session 

Source
pub trait Session {
    // Required methods
    fn query(
        &mut self,
        plan: &CheckedQuery,
        bindings: &Bindings,
        limits: &Limits,
        sink: &mut dyn RowSink,
    ) -> Result<ProviderStats, SiteError>;
    fn mutate(
        &mut self,
        plan: &CheckedMutation,
        bindings: &Bindings,
        limits: &Limits,
        sink: &mut dyn RowSink,
    ) -> Result<ProviderStats, SiteError>;
    fn migrate(
        &mut self,
        program: &CheckedProgram,
        limits: &Limits,
    ) -> Result<ProviderStats, SiteError>;
    fn schema(
        &mut self,
        program: &CheckedProgram,
        limits: &Limits,
    ) -> Result<ProviderStats, SiteError>;
    fn transaction(
        &mut self,
        body: &mut dyn FnMut(&mut dyn Transaction) -> Result<(), SiteError>,
    ) -> Result<(), SiteError>;
    fn attach(
        &mut self,
        locator: &Datum,
        limits: &Limits,
    ) -> Result<ProviderStats, SiteError>;
}
Expand description

A provider session. It can receive only sealed checked operations.

Required Methods§

Source

fn query( &mut self, plan: &CheckedQuery, bindings: &Bindings, limits: &Limits, sink: &mut dyn RowSink, ) -> Result<ProviderStats, SiteError>

Execute a checked query and push typed rows.

Source

fn mutate( &mut self, plan: &CheckedMutation, bindings: &Bindings, limits: &Limits, sink: &mut dyn RowSink, ) -> Result<ProviderStats, SiteError>

Execute a checked mutation and push typed returning rows.

Source

fn migrate( &mut self, program: &CheckedProgram, limits: &Limits, ) -> Result<ProviderStats, SiteError>

Apply an admitted migration program.

Source

fn schema( &mut self, program: &CheckedProgram, limits: &Limits, ) -> Result<ProviderStats, SiteError>

Perform a provider schema operation using an admitted migration program.

Source

fn transaction( &mut self, body: &mut dyn FnMut(&mut dyn Transaction) -> Result<(), SiteError>, ) -> Result<(), SiteError>

Run a closure-managed transaction.

Source

fn attach( &mut self, locator: &Datum, limits: &Limits, ) -> Result<ProviderStats, SiteError>

Attach another provider-specific locator.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§