pub struct QueryPlan { /* private fields */ }Expand description
A reusable, invocation-free typed read program.
Implementations§
Source§impl QueryPlan
impl QueryPlan
Sourcepub fn new(
bindings: Vec<AssertionBinding>,
inputs: Vec<InputColumn>,
pipeline: Vec<ReadStage>,
output: QueryOutput,
managed_semantics: ManagedSemanticSchemaFingerprint,
) -> Result<Self, Diagnostic>
pub fn new( bindings: Vec<AssertionBinding>, inputs: Vec<InputColumn>, pipeline: Vec<ReadStage>, output: QueryOutput, managed_semantics: ManagedSemanticSchemaFingerprint, ) -> Result<Self, Diagnostic>
Validate and construct one canonical plan under fixed protocol limits.
Sourcepub fn new_with_functions(
bindings: Vec<AssertionBinding>,
functions: Vec<LocalFunction>,
inputs: Vec<InputColumn>,
pipeline: Vec<ReadStage>,
output: QueryOutput,
managed_semantics: ManagedSemanticSchemaFingerprint,
) -> Result<Self, Diagnostic>
pub fn new_with_functions( bindings: Vec<AssertionBinding>, functions: Vec<LocalFunction>, inputs: Vec<InputColumn>, pipeline: Vec<ReadStage>, output: QueryOutput, managed_semantics: ManagedSemanticSchemaFingerprint, ) -> Result<Self, Diagnostic>
Validate and construct one plan carrying plan-local functions.
Sourcepub fn new_v2(
bindings: Vec<AssertionBinding>,
inputs: Vec<InputColumn>,
pipeline: Vec<ReadStage>,
output: QueryOutput,
managed_semantics: ManagedSemanticSchemaFingerprint,
) -> Result<Self, Diagnostic>
pub fn new_v2( bindings: Vec<AssertionBinding>, inputs: Vec<InputColumn>, pipeline: Vec<ReadStage>, output: QueryOutput, managed_semantics: ManagedSemanticSchemaFingerprint, ) -> Result<Self, Diagnostic>
Validate and construct one additive V2 low-level plan.
This constructor carries the required empty V2 compatibility object; there is no host-controlled format switch or legacy mode.
Sourcepub fn new_v2_with_functions(
bindings: Vec<AssertionBinding>,
functions: Vec<LocalFunction>,
inputs: Vec<InputColumn>,
pipeline: Vec<ReadStage>,
output: QueryOutput,
compatibility: QueryPlanV2Compatibility,
managed_semantics: ManagedSemanticSchemaFingerprint,
) -> Result<Self, Diagnostic>
pub fn new_v2_with_functions( bindings: Vec<AssertionBinding>, functions: Vec<LocalFunction>, inputs: Vec<InputColumn>, pipeline: Vec<ReadStage>, output: QueryOutput, compatibility: QueryPlanV2Compatibility, managed_semantics: ManagedSemanticSchemaFingerprint, ) -> Result<Self, Diagnostic>
Validate and construct one additive V2 plan with local functions and an explicit Rust-owned compatibility contract.
Sourcepub fn check_structural_limits(
&self,
limits: StructuralLimits,
) -> Result<(), Diagnostic>
pub fn check_structural_limits( &self, limits: StructuralLimits, ) -> Result<(), Diagnostic>
Re-check this plan’s whole structure under caller-supplied limits.
The exact construction-time traversal runs again — bindings,
inputs, the root pipeline, and every local function under one
aggregate predicate-node budget — so a caller passing stricter
StructuralLimits gets every field enforced, not a subset.
Sourcepub fn bindings(&self) -> &[AssertionBinding]
pub fn bindings(&self) -> &[AssertionBinding]
Return dense binding declarations.
Sourcepub const fn v2_compatibility(&self) -> Option<&QueryPlanV2Compatibility>
pub const fn v2_compatibility(&self) -> Option<&QueryPlanV2Compatibility>
Return the additive V2 compatibility contract.
V1 plans return None; every V2 plan returns Some, including native
low-level plans whose compatibility object is empty.
Sourcepub fn inputs(&self) -> &[InputColumn]
pub fn inputs(&self) -> &[InputColumn]
Return dense typed input column declarations.
Sourcepub fn functions(&self) -> &[LocalFunction]
pub fn functions(&self) -> &[LocalFunction]
Return the plan-local functions.
Sourcepub const fn output(&self) -> &QueryOutput
pub const fn output(&self) -> &QueryOutput
Return the explicit output category.
Sourcepub const fn managed_semantics(&self) -> &ManagedSemanticSchemaFingerprint
pub const fn managed_semantics(&self) -> &ManagedSemanticSchemaFingerprint
Return the exact managed semantics this plan was authored against.
Sourcepub const fn required_capabilities(&self) -> &CapabilitySet
pub const fn required_capabilities(&self) -> &CapabilitySet
Return open capabilities derived from syntax, never named manually.
Sourcepub fn canonical_bytes(&self) -> Result<Vec<u8>, Diagnostic>
pub fn canonical_bytes(&self) -> Result<Vec<u8>, Diagnostic>
Encode exact canonical bytes.
Sourcepub fn fingerprint(&self) -> Result<QueryPlanFingerprint, Diagnostic>
pub fn fingerprint(&self) -> Result<QueryPlanFingerprint, Diagnostic>
Compute the canonical domain-separated plan fingerprint.