Choose a read mode
An incremental
users route might use updated_at as its cursor. That is
lighter than rereading the table, but it cannot see a hard delete. Use CDC when
deletes or source transaction order must propagate.
A source connection is configured as either standard or CDC. Standard routes
choose full or incremental per resource. CDC applies to the whole route and
cannot be mixed with standard resources in the same run.
Choose destination behavior
appendkeeps each emitted row version.replaceproduces a new snapshot of the resource.upsertkeeps the current row for each primary key.mergeapplies ordered CDC inserts, updates, and deletes.
Reference: resolved modes
You can skip this section unless you use the API or build a connector. Internally, each read/write pair becomes an ingestion type such asfull_replace, incremental_upsert, cdc_append, or cdc_merge. That plan
sets the sink mode, key requirement, and checkpoint timing. You usually need
the names only when using the API or building a connector.
Supported combinations are:
The engine checks the source policy, sink capabilities, primary keys, and cursor
configuration while resolving the plan. A connector advertising a mode does not
bypass those runtime contracts.
How incremental upserts choose the latest row
For an incremental upsert, the cursor tells the source where the next read begins. The sink also uses that field to decide which version of a row is newer. If you do not choose a cursor, Filament can use the connector’s recommendation. Full upserts use insert order instead of a cursor. A checkpoint controls where reading resumes; the version rule controls which row wins at the destination.Columns Filament adds
Filament reserves the_filament_ prefix and adds the logical run ID and start
time to replicated rows. CDC also adds the operation, source position, and
sequence needed to interpret the change stream. These fields are nullable so an
existing destination can evolve without rewriting older rows. A source column
using a reserved name is rejected rather than overwritten.