pub trait ProcedureBodySynthesizer:
Send
+ Sync
+ Debug {
// Required method
fn synthesize(
&self,
decl: &DeclaredPlugin,
) -> Result<Arc<dyn ProcedurePlugin>, String>;
}Expand description
Host callback that turns a declared-procedure record into an
executable uni_plugin::traits::procedure::ProcedurePlugin.
uni-plugin-custom cannot reach the host’s
QueryProcedureHost::execute_inner_query directly (no dep on
uni-query), so the M9 cutover for declared-procedure body
execution flows through this callback. uni-db implements
ProcedureBodySynthesizer using
uni_query::QueryProcedureHost::execute_inner_query and passes
the impl to CustomPlugin::with_procedure_synthesizer.
Required Methods§
Sourcefn synthesize(
&self,
decl: &DeclaredPlugin,
) -> Result<Arc<dyn ProcedurePlugin>, String>
fn synthesize( &self, decl: &DeclaredPlugin, ) -> Result<Arc<dyn ProcedurePlugin>, String>
Build a ProcedurePlugin whose invoke() runs the Cypher /
Locy body of decl. Returns the synthesized plugin (which the
caller registers into the PluginRegistry) or a string
reason for failure.
§Errors
Returns a free-form error string on synthesis failure (bad signature shape, body parse errors, capability gaps).
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".