Replace the field `properties` in TableMetadata using `TableProperties` rather than `HashMap<String, String>`.
- Dominant language
- Rust
- Stars
- 1.4k
- Forks
- 567
- Avg merge
- 2d 2h
- Merged PRs (30d)
- 93
Description
### Apache Iceberg Rust version
None
### Describe the bug
Current https://github.com/liurenjie1024/iceberg-rust/blob/459db8a13fd038df8ed18dd1d2685bdcaecb845e/crates/iceberg/src/spec/table_metadata.rs#L365 returns a `TableProperties`, and construct it every time. We should replace the `properties` field with `TableProperties`
### To Reproduce
_No response_
### Expected behavior
_No response_
### Willingness to contribute
None
Contributor guide
Research direction
Start in crates/iceberg/src/spec/table_metadata.rs around line 365 and inspect how TableMetadata currently stores and returns properties. Trace the related construction and tests, then confirm that the field uses TableProperties directly and that existing metadata behavior remains unchanged.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- data-engineering
- Issue type
- Refactor
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 64/100