Project

Roadmap

All 53 slices are done, page-level recovery included. Next: the page store behind ontodb <dir>, log housekeeping, more of SPARQL, and RDFS inference.

Done

FeatureCheckStatus
SPARQL shellscripts/check shellDone
Triple keyscripts/check keyDone: the key round-trips and the prefix bounds match
Buffer poolscripts/check bufferDone: disk file, I/O thread, LRU-K, pool, guards, inspection
B+ treescripts/check indexDone: layout, invariants, search, insert, iterator, bulk load, delete
RDF storagescripts/check storageDone: term heap, disk dictionary, catalog, indexed store, SPO/POS/OSP measured, clean restart
Query executionscripts/check executionDone: rebinding, index nested loop, hash join, distinct, limit, external sort, insert and delete
Optimizerscripts/check optimizerDone: exact statistics, System R join estimates, greedy order, auto join choice, explain analyze
Bulk loadscripts/check loadDone: batch load, packed trees, LUBM(1) on a 32-frame pool
Concurrencyscripts/check concurrencyDone: crabbing, transactions, locks, isolation, deadlocks, phantoms
Durable memory databasescripts/check durableDone: all seven slices
Semantic searchscripts/check semanticDone: class hierarchy as interval labels in a B+ tree, one vector per term, exact, IVF, and HNSW search, hierarchy-filtered nearest neighbors, shell commands. See Semantic search
Recoveryscripts/check recoveryDone: page images, page groups, abort by the log, sharp checkpoint, ARIES, scripts/crashtest --seeds 200

Next

Planned in PLAN.md, in this order. None has tests yet; each starts by adding them.

FeatureCheckSlices
Page store in the shellscripts/check pagestore10.1 directory format, 10.2 recovery on open, 10.3 statements log, 10.4 loads, 10.5 clean close and checkpoint, 10.6 verify, 10.7 crash test through the shell
Log housekeepingscripts/check logkeep11.1 truncate after a checkpoint, 11.2 smaller page records, 11.3 fuzzy checkpoint
SPARQL breadthscripts/check sparql12.1 OPTIONAL, 12.2 UNION, 12.3 aggregates, 12.4 planning around them, 12.5 DELETE/INSERT WHERE
RDFS inferencescripts/check rdfs13.1 rules, 13.2 materialize, 13.3 insert, 13.4 delete (DRed), 13.5 LUBM

Left open

These have no stubs. Each starts as a design written next to its code, then a benchmark, then a writeup.