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§
Sourcefn query(
&mut self,
plan: &CheckedQuery,
bindings: &Bindings,
limits: &Limits,
sink: &mut dyn RowSink,
) -> Result<ProviderStats, SiteError>
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.
Sourcefn mutate(
&mut self,
plan: &CheckedMutation,
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>
Execute a checked mutation and push typed returning rows.
Sourcefn migrate(
&mut self,
program: &CheckedProgram,
limits: &Limits,
) -> Result<ProviderStats, SiteError>
fn migrate( &mut self, program: &CheckedProgram, limits: &Limits, ) -> Result<ProviderStats, SiteError>
Apply an admitted migration program.
Sourcefn schema(
&mut self,
program: &CheckedProgram,
limits: &Limits,
) -> Result<ProviderStats, SiteError>
fn schema( &mut self, program: &CheckedProgram, limits: &Limits, ) -> Result<ProviderStats, SiteError>
Perform a provider schema operation using an admitted migration program.
Sourcefn transaction(
&mut self,
body: &mut dyn FnMut(&mut dyn Transaction) -> Result<(), SiteError>,
) -> Result<(), SiteError>
fn transaction( &mut self, body: &mut dyn FnMut(&mut dyn Transaction) -> Result<(), SiteError>, ) -> Result<(), SiteError>
Run a closure-managed transaction.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".