Roadmap

Implemented vertically,
then extended by phase.

Development follows a vertical sequence. 28 phases are complete through Phase 7B. Isolation and MVCC, index joins, and MCP remain planned work.

0

Rust foundation

Stable types, schema, parser, HIR, and relational IR.

Complete
1

Storage foundation

4 KiB slotted pages, bounded buffer pool, heap insert/scan, and reopen.

Complete
2A

Transactions + WAL core

Transaction lifecycle, versioned WAL, LSN / pageLSN, and durable commit.

Complete
2B

Crash recovery

Startup analysis, repeat-history redo, reverse undo, and crash-tail handling.

Complete
2B.1

Single writer + runtime rollback

Lazy writer ownership, retryable commit/rollback, and before-image undo.

Complete
2C

Checkpoint + WAL lifecycle

Quiescent checkpoints, monotonic logical LSNs, and bounded WAL generation recycling.

Complete
3A

Typed expressions + NULL

Contextual NULL typing, three-valued logic, and explicit IS NULL.

Complete
3B

Typed DML

INSERT / UPDATE / DELETE, stable RowIds, and affected-row results.

Complete
3C

INNER JOIN

Qualified columns, aliases, self joins, and nested-loop execution.

Complete
3C.5

Schema fingerprints

Canonical table encoding, SHA-256 fingerprints, and identity checks on open.

Complete
integrity

Page and WAL integrity

Page v4/v5 CRC32C, WAL v3 checksums, and decoder fuzzing.

Complete
3D

Aggregates + sort

ORDER BY, global aggregates, and in-memory GROUP BY.

Complete
4A

Versioned RowId

Page v5 slot generations, tombstone reuse, and stale-locator detection.

Complete
4B

Heap reuse + safe relocation

Deterministic first-fit and UPDATE relocation that returns the current RowId.

Complete
4C1

Persistent B+Tree

Transactional create/insert/point lookup, mixed pages, and split recovery.

Complete
4C2

B+Tree delete / rebalance

Exact (key, RowId) delete, merge-only rebalance, and root collapse.

Complete
4D1

Index catalog + backfill

Persistent IndexCatalog and transactional create_index backfill.

Complete
4D2

Heap / index DML maintenance

Registered indexes stay consistent with heap and SQL DML.

Complete
4E

Point IndexScan

Equality and IS NULL predicates can select a point IndexScan.

Complete
4F

ANALYZE and costing

Explicit ANALYZE snapshots and deterministic point access-path costs.

Complete
5A

Protocol v1

Language-neutral binary framing, schema handshake, and streamed rows.

Complete
5B

netbadbd server

Manifest bootstrap, TCP sessions, and a dedicated database worker.

Complete
5C

TLS and authorization

Mutual TLS, certificate principals, and per-table operation scopes.

Complete
6A

Go Protocol client

Independent Go client and generated typed bindings.

Complete
6C

Rust remote SDK

Synchronous netbadb-sdk::remote client over Protocol v1.

Complete
6D

Inspection CLI

Offline catalog and statement inspection with netbadb.

Complete
6E1

SQL diagnostics LSP

Diagnostics-only language server over shared compiler diagnostics.

Complete
7B

Range IndexScan

Costed bounded Int64/UInt64 range scans.

Complete
6E2

MCP and extra adapters

MCP and additional tooling adapters.

Next
7+

Further optimization

Index joins, one-sided/Text range costing, and benchmark-driven work.

Later

Not included in the current release

MVCC and read isolation: readers may observe an active writer's buffered changes

Concurrent writers and cross-process file locking

SQL index DDL, uniqueness enforcement, index-only scans, and index joins

Full SQL: outer joins, subqueries, HAVING, DISTINCT, window functions

Multi-table write transactions

MCP adapters and migrations between experimental on-disk formats