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.