writeonce/docs
shoney.arickathil 8e9553edb7 feat(database): class-shaped row storage (iteration 9, Task 1)
- database/src/table.{c,h}: per-shard per-class slabs (256 rows,
  malloc'd, never moved -- row addresses stable for 9b's row views),
  occupancy bitmap, LIFO slot reuse, open-addressing id hash with
  tombstones (ids never 0, never reused)
- field encoding walks the same .wob class-table kinds the VM walks:
  scalars raw (WO_NIL_SCALAR passes through), Texts copied to db_text,
  owned objects flattened recursively to db_rec, containers
  element-wise; GCREF refused at encode (the GC bulkhead, defensively)
- two one-way copy gates: insert copies VM values in, read allocates
  fresh VM values out -- no VM pointer in a slab, no slab pointer in
  the VM, proven by mutating originals after insert
- id discipline: per table per shard, S+1 step N; owner = (id-1) % N;
  N-parametric, runs at N=1 until iteration 8, tested at N=3
- choke points: wo_row_insert/wo_row_remove carry the INDEX HOOK
  sites Task 4 attaches to; nothing else mutates storage
- runtime/Makefile links database/src into every wovm + test binary
- test_table 827/0 ASan+UBSan; oop-e2e 71/0; log-watcher 7/0;
  binding doc docs/plan/oop-vm/04-db-binding.md; CODE-LOGIC.md beside
  the code; plan Task 1 checked off

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-15 10:54:24 +02:00
..
examples docs: employee sample (target workload) + engine moves to database/ 2026-08-15 09:49:54 +02:00
future-scope docs: status board at docs/00-status.md; gap-closure spec applied; recover lost doc 2026-08-10 23:42:26 +02:00
plan feat(database): class-shaped row storage (iteration 9, Task 1) 2026-08-15 10:54:24 +02:00
runtime docs: iteration 9b spec + plan — @table, relations, query (employee) 2026-08-15 09:10:08 +02:00
stories/language-runtime-database docs: borrow/GC analysis for the database engine, into the iterations 2026-08-15 09:57:53 +02:00
superpowers feat(database): class-shaped row storage (iteration 9, Task 1) 2026-08-15 10:54:24 +02:00
00-code-review.md docs: status board at docs/00-status.md; gap-closure spec applied; recover lost doc 2026-08-10 23:42:26 +02:00
00-principles.md docs: compiler front-end specifications and plans (Tasks 2-6) 2026-08-10 09:11:04 +02:00
00-status.md docs: iteration 9b spec + plan — @table, relations, query (employee) 2026-08-15 09:10:08 +02:00
01-problem.md begin 2026-04-05 00:45:02 +02:00
02-recovery.md explore postgres code base 2026-05-05 00:26:49 +02:00
03-data.md begin 2026-04-05 00:45:02 +02:00
04-ui.md begin 2026-04-05 00:45:02 +02:00
05-datalayer.md begin 2026-04-05 00:45:02 +02:00
06-markdown-render.md begin 2026-04-05 00:45:02 +02:00
07-ssl.md begin 2026-04-05 00:45:02 +02:00
08-project-structure.md docs: status board at docs/00-status.md; gap-closure spec applied; recover lost doc 2026-08-10 23:42:26 +02:00
cm.md laanguage prototype 2026-07-12 03:40:30 +02:00
writeonce-pl.md laanguage prototype 2026-07-12 03:40:30 +02:00