blackmwk opened a new pull request, #3103: URL: https://github.com/apache/iceberg-rust/pull/3103
## Which issue does this PR close? - Closes #3097. ## What changes are included in this PR? - Replace `S3TablesCatalogConfig` with crate-private `S3TablesCatalogProperties` derived through the shared `Properties` macro. - Keep builder-only client injection and overrides on `S3TablesCatalogBuilder`, then resolve them into typed catalog properties with load properties taking precedence. - Store the catalog name and resolved typed properties directly in `S3TablesCatalog`. - Preserve fail-fast catalog-name and table-bucket-ARN validation. - Forward the complete raw property map to AWS configuration, FileIO, and KMS, matching the finalized Memory catalog pattern and Java-compatible behavior. - Add focused coverage for parsing, defaults, builder/property precedence, validation, and downstream raw-property forwarding. ## Are these changes tested? - `cargo test -p iceberg-catalog-s3tables --lib` (25 passed) - `cargo clippy -p iceberg-catalog-s3tables --all-targets -- -D warnings` - `cargo public-api -p iceberg-catalog-s3tables --all-features -ss | diff - crates/catalog/s3tables/public-api.txt` - `cargo fmt --all -- --check` - `git diff --check` ## AI Disclosure This change was developed with assistance from OpenAI Codex. The contributor reviewed the resulting diff and test output. -- 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]
