jdwil opened a new pull request, #2469:
URL: https://github.com/apache/iceberg-rust/pull/2469
## Which issue does this PR close?
Closes #2028
Supersedes #2037 (closed as stale)
## What changes are included in this PR?
Makes TableProperties the single source of truth for table properties by
having it own the raw HashMap<String, String> internally, replacing the
separate properties: HashMap<String, String> field in TableMetadata.
Design:
- TableProperties now wraps the raw map and provides both typed access to
known properties (commit retries, compression codec, file format, etc.) and
delegate methods (get, contains_key, iter, as_raw) for arbitrary/unknown
property
access
- TableMetadata::properties() returns &TableProperties instead of
&HashMap<String, String>
- Removed the redundant table_properties() and
metadata_compression_codec() methods — callers access typed fields directly via
properties()
- Invalid property values (e.g., non-numeric retry count) are now rejected
at deserialization/build time rather than lazily on access
## Are these changes tested?
Yes — all 1276 existing unit tests pass. The invalid-value test was
updated to verify early rejection at construction time. No new dependencies
added.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]