Skip to main content

read_changes

Function read_changes 

Source
pub async fn read_changes(
    catalog: Arc<dyn CatalogProvider>,
    store: Arc<dyn Store>,
    table: &TableIdent,
    config: ChangeReaderConfig,
) -> AilakeResult<RecordBatch>
Expand description

Read the change stream between two snapshots of an AI-Lake table.

Returns a single RecordBatch containing all changed rows plus the CDC envelope columns _change_type, _snapshot_id, _sequence_number, and _commit_timestamp.

§Semantics

  • INSERT: rows in data files that appear only in the end snapshot.
  • DELETE: rows removed by equality deletes or deletion vectors that are new in the end snapshot, or rows in data files that exist only in the start snapshot.
  • UPDATE_BEFORE / UPDATE_AFTER: emitted only when coalesce_updates is enabled and a matching PK is both deleted and inserted within the same end snapshot.