Skip to main content

Module document

Module document 

Source
Expand description

Document construction: what to build?

A DocumentBuilder turns a changed row — named only by its table and RowKey — into the target documents it affects, then assembles each one. This module is self-contained: it takes neutral primitives, not a cdc::Change, so it has no dependency on how changes are captured. The engine reads a change from the capture stream and passes its table and key here.

Structs§

DocumentId
Addresses one document in a target index: which index, and the root row’s key within it. The same source row can map to documents in several indexes, so the index is part of the identity.
IndexScope
What an index needs in order to be seeded: its name and the source table to snapshot for it. A document is identified by its root row, so snapshotting the root table alone seeds the whole index — build pulls in every join and aggregate server-side when each root row is assembled.

Enums§

Document
The result of assembling a document: a body to upsert into the index, or a tombstone when the root row is gone (or soft-deleted).

Traits§

DocumentBuilder
Turns changed rows into target documents — the read half of a source.