Skip to content

docs: cover v0.4.0 — atomic cross-shard transactions, CRDT collections, sparse vectors#183

Merged
farhan-syah merged 1 commit into
NodeDB-Lab:mainfrom
laksamanakeris:docs/update-v0.4.0
Jul 19, 2026
Merged

docs: cover v0.4.0 — atomic cross-shard transactions, CRDT collections, sparse vectors#183
farhan-syah merged 1 commit into
NodeDB-Lab:mainfrom
laksamanakeris:docs/update-v0.4.0

Conversation

@laksamanakeris

Copy link
Copy Markdown
Contributor

Summary

Docs catch-up for the ~277 commits merged since #174 (v0.4.0). All syntax and semantics verified against the parser and integration tests before documenting.

  • architecture.md / query-language.md — interactive cross-shard BEGIN ... COMMIT is now atomic via the Calvin sequencer's replicated vote/verdict barrier; serializable OCC read validation (point / predicate / index-value / gathered-JOIN reads) aborting stale reads with SQLSTATE 40001; TransactionRedo WAL durability (rebuilds HNSW/FTS on replay); single_node_calvin default-on; best_effort_non_atomic semantics clarified; 6-hour staging-overlay lease + nodedb_active_txn_overlays gauge; backpressure SQLSTATE 53200
  • documents.md / query-language.md — CRDT document collections: WITH (crdt=true), per-field LWW merge on PK-targeted UPDATE, tombstone DELETE, RETURNING support, rejected DML shapes (predicate UPDATE/DELETE, non-literal SET, ON CONFLICT DO UPDATE), movable-list SDK ops
  • vectors.md / query-language.mdSPARSEVECTOR column type (dimensionless, '{dim: weight}' literals), auto-maintained inverted index, sparse_score ORDER BY top-k surface
  • real-time.md — graph edge and node-label writes emit WriteEvents (__graph_node_labels__ stream; stable (src, label, dst) edge row_id; no double-publish for implicit edges)
  • offline-sync-patterns.md — one-document-per-delta contract rejection (crdt_single_document_delta)
  • bitemporal.mdAS OF reads at parity with non-temporal reads (strict-collection predicates, ORDER BY, computed/window columns)
  • databases.md — pgwire listener idle watchdog (auth.idle_timeout_secs) vs per-database SET IDLE_TIMEOUT
  • query-language.md — timestamp string-format coercion in comparison predicates

Notes

  • Verification also flagged a stale code comment: the single_node_calvin test docstring still says the flag defaults to false; code default is true since db36bc73. Not touched here (code comment, not docs).
  • Cargo.lock / docs/architecture.html working-tree changes again excluded — unrelated.

…s, sparse vectors

- architecture/query-language: interactive cross-shard BEGIN...COMMIT is
  atomic via the Calvin vote/verdict barrier; OCC read validation aborts
  stale reads with 40001; TransactionRedo WAL durability; single-node
  Calvin default-on; overlay lease reaping and backpressure SQLSTATE
- documents/query-language: CRDT document collections (WITH (crdt=true)),
  per-field LWW UPDATE semantics, rejected DML shapes, RETURNING,
  movable-list SDK ops
- vectors/query-language: SPARSEVECTOR column type, '{dim: weight}'
  literals, sparse_score ORDER BY surface
- real-time: graph edge and node-label writes emit WriteEvents
  (__graph_node_labels__ stream, stable edge row_id)
- offline-sync: one-document-per-delta contract rejection
- bitemporal: AS OF read parity (predicates, ORDER BY, window functions)
- databases: pgwire listener idle watchdog vs per-database IDLE_TIMEOUT
- query-language: timestamp string-format coercion in comparisons
@farhan-syah
farhan-syah merged commit 8a029bc into NodeDB-Lab:main Jul 19, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants