Overview
What askl does, what a query returns, the three questions its design has to answer, and how to read …
From Result to Cache
Deriving the engine's structure from what a query returns: selections as fixpoints, upper bounds as …
Queries and their Meaning
Folding a bag of verbs into one predicate and one populate, and the fixpoint in which neighbouring …
Filter Expressions and the Slot Cascade
Boolean operators inside one dimension, record merge across dimensions, and CSS-like inheritance …
Evaluating the Fixpoint
How the engine computes the fixpoint of mutually constraining selections — the pipeline, the …
Planning from Measured Cardinality
Why syntax cannot predict how much of the index a query touches, and how the engine measures before …
Layers and Layer Operations
The layer data model — layer kinds and lifetimes, how a query decides what it can see, the …
Partitioning a Materialisation
How a statement's materialisation is split into independently cached shards, and what their keys …
Layer Keys and Hashing
How a command's verbs, filters, and context become the cache keys of the layer forest
Caching
Two caches for the two stages of expensive work — producing rows in the database and re-reading them …
search()
How the search() verb turns a literal-string query into byte-range matches over the whole indexed …
search(): Implementation Notes
The full body of the byte-offset helper, and the measurements behind the search() case study — …