Expand description
Delta Lake I/O integration module.
This module provides the actual I/O operations for Delta Lake tables via the
deltalake crate. All functions are feature-gated behind delta-lake.
§Architecture
The I/O module is separate from the business logic in delta.rs
to allow:
- Testing business logic without the
deltalakedependency - Clean separation of concerns (buffering/epoch management vs. actual writes)
- Easy mocking for unit tests
Coordinated exactly-once publication uses runtime-owned, stable transaction namespaces. Ordinary direct writes do not emit writer-local transaction actions because a process-random identity cannot deduplicate recovery.
Structs§
- Merge
Result - Result of a MERGE (upsert) operation.
Functions§
- get_
coordinated_ cursor - Read the atomic checkpoint/fencing cursor for one coordinated namespace.
- get_
latest_ version - Returns the latest committed version via the log store.
- get_
partition_ columns - Returns the table’s partition columns, or an empty list if the snapshot is unavailable. Best-effort: used for clustering diagnostics, never for correctness, so a missing snapshot is not an error.
- get_
table_ schema - Extracts the Arrow schema from a Delta Lake table.
- map_
cdf_ to_ changelog - Maps CDF
_change_type→_op(I/U/D), dropsupdate_preimagerows and CDF metadata columns (_change_type,_commit_version,_commit_timestamp). ReturnsNoneif all rows were preimages. - open_
or_ create_ table - Opens an existing Delta Lake table or creates a new one.
- read_
batches_ at_ version - Reads record batches from a specific Delta Lake table version.
- read_
cdf_ batches - Reads CDF batches for a version range via
scan_cdf(). - read_
version_ diff - Reads only the rows added in a specific Delta Lake version.
- resolve_
catalog_ options - Resolves catalog-aware table URI and merges catalog-specific storage options.