API Reference barrel_docdb v#1.0.0

View Source

Modules

Document path extraction for automatic indexing

Path index storage for automatic document indexing

Attachment API for barrel_docdb

Attachment storage backend behaviour.

Attachment change feed: the tracking layer that lets attachments replicate. Lives INSIDE the attachments RocksDB and is committed atomically with the blob write (one WriteBatch).

Attachment store dispatcher.

BlobDB storage backend for attachments

BQL, barrel's PartiQL dialect: the public compile surface.

BQL AST shapes shared by the parser, the lowering pass and their consumers. Locations are {Line, Column} and sit on every node that can fail validation.

BQL post-stage executor for collection sources: drives barrel_docdb:find/3 with a compiled plan and applies the per-row stages (unnest expansion, frame-residual predicates, order, offset/limit, projection).

Canonicalize and validate BQL ASTs; lower them to executable plans (lowering lands with the planner step).

Shared RocksDB block cache manager

Changes feed API for barrel_docdb

Changes stream for barrel_docdb

Write-time channels: named subsets of a database materialized into per-channel change feeds (prefix 0x1E) as documents are written, so partial sync reads one bounded range scan instead of filtering the global feed.

RocksDB compaction filter for revision tree pruning

barrel_db_server - Individual database server process

barrel_db_sup - Dynamic supervisor for database processes

Document utilities for barrel_docdb

Document body storage using body column family (BlobDB enabled)

barrel_docdb - Public API for barrel_docdb

barrel_docdb application module

CBOR Document Codec with Structural Index

Caller-side point reads over the document store.

barrel_docdb top-level supervisor

Usage statistics for barrel_docdb

barrel_history - Retained history log

Hybrid Logical Clock utilities for barrel_docdb

Keyspace indirection for timeline branches.

Small shared helpers for wrapping try ... catch ... end idioms that recur across barrel_docdb, so the pattern lives in one place.

OpenTelemetry metrics for barrel_docdb

Generic tagged outbox: a durable work queue written atomically with the document batch.

Parallel execution utilities for barrel_docdb

Path ID Interning for barrel_docdb

Postings Resource API for barrel_docdb

Write provenance: who made a write. A validated, size-capped map of actor, session, and source binaries supplied through the provenance write option, persisted as a CBOR blob in the current entity (last writer) and in every retained history entry (the audit record). Local-only in v1: provenance does not ride the sync wire; replicated arrivals are attributed by their history cause and the origin's source id.

Query compiler and executor for barrel_docdb

Query cursor management for chunked query execution

barrel_query_sub - Query-based subscription manager

barrel_rep - Replication API for barrel_docdb

barrel_rep_alg - Replication algorithm

The attachment phase of a replication run. Runs AFTER the doc loop (independent lifecycles, independent checkpoint): fold the source's attachment feed since the attachment checkpoint, digest-diff each batch against the target in one round trip, stream the missing blobs (digest-verified at the target's commit point), apply LWW-guarded deletes, checkpoint per batch.

barrel_rep_checkpoint - Checkpoint management for replication

Wire codec for replication filters (paths, query, channel).

barrel_rep_tasks - Persistent replication task manager

barrel_rep_transport - Transport behaviour for replication

The network replication transport: barrel_rep_transport over HTTP (hackney), speaking the /db/:db/_sync/* wire served by barrel_server_sync.

barrel_rep_transport_local - Local transport for replication

Storage behaviour for barrel_docdb

Key encoding for barrel_docdb storage

RocksDB storage backend for barrel_docdb

barrel_sub - Path subscription manager for barrel_docdb

Timeline: branch a database, work on the branch, merge back.

Distributed tracing helpers for barrel_docdb

Document versions: an HLC timestamp plus the id of the database that authored the write.

Version vectors: per-writer-node high-water marks.