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.
- Resolved
Catalog Table - A table location resolved through its catalog.
Enums§
- Catalog
Access - Whether a catalog-resolved table is opened for reading or for commits.
Functions§
- credentials_
need_ refresh - Whether credentials expiring at
expire_atmust be renewed before the next storage I/O. - credentials_
refresh_ at - When credentials expiring at
expire_atare due for renewal. - 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 Delta CDF rows to the canonical signed-weight changelog and drops CDF
metadata columns (
_change_type,_commit_version,_commit_timestamp). - open_
or_ create_ partitioned_ table - Opens an existing Delta table, or creates it with
schemapartitioned bypartition_columnswhen it is absent and a schema is supplied. An existing table keeps its own partitioning; callers compare it with their configuration. - open_
or_ create_ table - Opens an existing Delta Lake table or creates a new one.
- open_
table_ metadata - Opens an existing table’s log metadata (version,
metaData, protocol) without materializing its file list, which a reader that scans through the Delta kernel never needs. - resolve_
catalog_ options - Resolves catalog-aware table URI and merges catalog-specific storage options.