Component · built · partial
It's SQL-shaped. We won't pretend it's SQL yet.
There's a query interface over the shard store with the shape you expect —
tables, rows, primary keys, secondary indexes for WHERE column =
value without a full scan. What there isn't, yet, is a SQL text parser.
You call it from Go.
What's built
- Table CRUD by primary key over the CRDT store
- Secondary indexes backed by OR-sets — point lookups on indexed columns, no table scan
- Writes replicate: insert/update/delete propagate to peers, and a receiving node reconciles its indexes against the actual CRDT merge outcome, not the stale incoming write
- Optional LRU+TTL row cache with invalidation wired into every write path, including replication receipt
- Co-access prefetch: keys that historically follow a just-read key get warmed ahead of the next call
What's still design
- A real SQL text parser
- Joins
- Multi-statement transactions
- Schema replication —
CREATE TABLE/CREATE INDEXdon't propagate yet
The phased plan is in docs/SQL_LAYER.md in the repo. This is the layer most likely to change based on the waitlist.