Skip to main content

Module exec

Module exec 

Source
Expand description

Frame-based query executor.

Execution is a fold of clause evaluations over a set of frames (partial variable bindings). Pattern clauses pick a covering index per frame from what is bound at that moment (see crate::plan::choose_index), so a bound attribute can never degenerate into a full index scan. Rules are evaluated bottom-up to a fixpoint with per-invocation memo tables.

Structs§

ExecCtx
Execution context: database sources, rules, and counters.

Constants§

UNKNOWN_KEYWORD
Keyword id used for keyword literals absent from the database’s interner: such literals can never equal a stored keyword value.

Functions§

coerce_for_type
Coerces a value toward an attribute’s schema type where representations legitimately overlap (longs standing for entity ids or instants).
const_value
Converts a constant EDN form to an engine value, without attribute context.
eval_clauses
Evaluates clauses over the given frames, in planner order.
to_entity
Interprets a bound value as an entity id.
value_match
Pattern-position match with entity/instant coercion between overlapping representations. Distinct value types otherwise never match.

Type Aliases§

Frame
A partial assignment of variables to values.