Smith-Cruise opened a new pull request, #4:
URL: https://github.com/apache/datafusion-iceberg/pull/4

   ## Which issue does this PR close?
   
   No open issue tracks this. This is a re-submission of 
apache/iceberg-rust#3207, which was closed when the DataFusion integration 
moved to this repository. The same change was previously approved by @gabotechs 
and +1'd by @derrley and @toutane in apache/iceberg-rust#2123, but that one was 
closed by the stale bot rather than on review.
   
   ## What changes are included in this PR?
   
   Makes `IcebergTableProvider::try_new` and 
`IcebergTableProvider::metadata_table` `pub` instead of `pub(crate)`.
   
   `IcebergTableProvider` is the only provider with write support, but it has 
no public constructor. The one public way to reach it is 
`IcebergCatalogProvider::try_new`, which eagerly lists every namespace and 
loads every table of the catalog, and takes over the whole `CatalogProvider`.
   
   The struct and its `TableProvider` impl are already public, and so is the 
returned `IcebergMetadataTableProvider`, so this adds no new types — it only 
relaxes visibility.
   
   Compared to apache/iceberg-rust#3207, the `public-api.txt` part of the diff 
is dropped: this repository does not carry that file.
   
   ### Concrete use case
   
   We run a DataFusion-based engine that serves Iceberg, Delta, Paimon and Hive 
tables, so we have our own `CatalogProvider` implementation and cannot use 
`IcebergCatalogProvider`. But today `IcebergTableProvider` can only be obtained 
through `IcebergCatalogProvider`, which makes it inconvenient to serve a single 
Iceberg table from our own catalog. With `try_new` public we could just 
construct it directly.
   
   ## Are these changes tested?
   
   This is a visibility change with no behavior change, so it adds no tests. 
Verified locally with `cargo build -p datafusion-iceberg` and `cargo test -p 
datafusion-iceberg --lib` (89 passed).
   
   ## AI Disclosure
   
   Written with assistance from Claude Code. The author reviewed the change and 
ran the verification above.
   
   🤖 Generated with [Claude Code](https://claude.com/claude-code)


-- 
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