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]

Reply via email to