pub trait NavigationHost: AggregationHost {
// Required methods
fn navigation_engine(&self) -> &Arc<MVCCEngine> ⓘ;
fn navigation_active_transaction(&self) -> &Mutex<Option<ActiveTransaction>>;
fn navigation_execute_select(
&self,
statement: &SelectStatement,
context: &ExecutionContext,
) -> Result<Box<dyn QueryResult>>;
fn navigation_project_rows_with_alias(
&self,
select_expressions: &[Expression],
rows: RowVec,
columns: &[String],
columns_lower: Option<&[String]>,
context: &ExecutionContext,
table_alias: Option<&str>,
) -> Result<RowVec>;
// Provided method
fn navigation_source_materialized(
&self,
_plan: &ReferenceExpandPlan,
_context: &ExecutionContext,
) { ... }
}Expand description
Narrow composition contract for navigation execution. Binding, graph planning and lookup policy remain in this crate; the host supplies only recursive SELECT/projection callbacks and transaction ownership.
Required Methods§
Provided Methods§
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".