DerGut opened a new pull request, #2836: URL: https://github.com/apache/iceberg-rust/pull/2836
## Which issue does this PR close? - This is a first of ~3 PRs to close https://github.com/apache/iceberg-rust/issues/2774 ## What changes are included in this PR? This PR introduces a new session-aware catalog trait `SessionCatalog` and its implementation `RestSessionCatalog`. A `SessionCatalog` is a session-aware catalog variant that accepts a new struct `SessionContext` with every catalog method. It is otherwise identical to the regular `Catalog` trait. The `RestSessionCatalog` now acts as the core implementation of the `RestCatalog`, which simply delegates all its methods to an inner `RestSessionCatalog` by passing an internal `SessionContext` that defaults to an empty one, preserving session unaware behavior. ## Are these changes tested? <!-- Specify what test covers (unit test, integration test, etc.). If tests are not included in your PR, please explain why (for example, are they covered by existing tests)? --> The existing test suite passes on the refactor that moves logic from the `RestCatalog` to the `RestSessionCatalog` (first commit). I've included some additional tests to assert the RestCatalogBuilder's output when passed an explicit session. I'm adding a commit to refactor the test suit, to have it operate on the `RestSessionCatalog` instead, as it now contains the load-bearing logic. --- Logic that uses the sessions to modify requests isn't implemented yet, so tests at this point are only structural. My 2nd PR will address this. -- 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]
