Skip to main content

ArgumentPlan

Trait ArgumentPlan 

Source
pub trait ArgumentPlan<A, V, R>:
    Any
    + Send
    + Sync
where A: Alignment, V: ValueDomain, R: Retention,
{ // Required methods fn as_any(&self) -> &dyn Any; fn prepare<'a>( &'a self, graphrecord: &'a GraphRecord, cache: &'a EvaluationCache<'a>, ) -> QueryResult<PreparedArgument<'a, A, V, R>>; fn inputs(&self) -> Vec<&dyn PlanNode>; fn identity_eq(&self, other: &dyn ArgumentPlan<A, V, R>) -> bool; fn identity_hash(&self, state: &mut dyn Hasher); fn describe<'a>( &'a self, formatter: &mut ExplainFormatter<'a, '_>, ) -> Result; fn estimate(&self, stats: &Stats<'_>) -> Estimate; fn optimize(&self, session: &Session<'_>) -> Transformed<Argument<A, V, R>>; }

Required Methods§

Source

fn as_any(&self) -> &dyn Any

Source

fn prepare<'a>( &'a self, graphrecord: &'a GraphRecord, cache: &'a EvaluationCache<'a>, ) -> QueryResult<PreparedArgument<'a, A, V, R>>

Source

fn inputs(&self) -> Vec<&dyn PlanNode>

Source

fn identity_eq(&self, other: &dyn ArgumentPlan<A, V, R>) -> bool

Source

fn identity_hash(&self, state: &mut dyn Hasher)

Source

fn describe<'a>(&'a self, formatter: &mut ExplainFormatter<'a, '_>) -> Result

Source

fn estimate(&self, stats: &Stats<'_>) -> Estimate

Source

fn optimize(&self, session: &Session<'_>) -> Transformed<Argument<A, V, R>>

Dyn Compatibility§

This trait is dyn compatible.

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

Implementors§