Trait ProgramVm

Source
pub trait ProgramVm {
    // Required method
    fn eval_query<const N: usize>(
        &mut self,
        query: CrudExpr,
        sources: Sources<'_, N>,
    ) -> Result<Code, ErrorVm>;
}
Expand description

A trait to allow split the execution of programs to allow executing queries that take in account each program state/enviroment.

To be specific, it allows you to run queries that run on the SpacetimeDB engine.

It could also permit run queries backed by different engines, like in MySql.

Required Methods§

Source

fn eval_query<const N: usize>( &mut self, query: CrudExpr, sources: Sources<'_, N>, ) -> Result<Code, ErrorVm>

Allows to execute the query with the state carried by the implementation of this trait

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§