diff --git a/crates/catalog/glue/src/catalog.rs b/crates/catalog/glue/src/catalog.rs
index c51f6a6a89..86a3894255 100644
--- a/crates/catalog/glue/src/catalog.rs
+++ b/crates/catalog/glue/src/catalog.rs
@@ -677,12 +677,7 @@ impl Catalog for GlueCatalog {
async fn purge_table(&self, table: &TableIdent) -> Result<()> {
let table_info = self.load_table(table).await?;
self.drop_table(table).await?;
- iceberg::drop_table_data(
- table_info.file_io(),
- table_info.metadata(),
- table_info.metadata_location(),
- )
- .await
+ iceberg::drop_table_data(&table_info).await
}
/// Asynchronously checks the existence of a specified table
diff --git a/crates/catalog/hms/src/catalog.rs b/crates/catalog/hms/src/catalog.rs
index d778a3d5fc..0f15890c77 100644
--- a/crates/catalog/hms/src/catalog.rs
+++ b/crates/catalog/hms/src/catalog.rs
@@ -624,12 +624,7 @@ impl Catalog for HmsCatalog {
async fn purge_table(&self, table: &TableIdent) -> Result<()> {
let table_info = self.load_table(table).await?;
self.drop_table(table).await?;
- iceberg::drop_table_data(
- table_info.file_io(),
- table_info.metadata(),
- table_info.metadata_location(),
- )
- .await
+ iceberg::drop_table_data(&table_info).await
}
/// Asynchronously checks the existence of a specified table
diff --git a/crates/catalog/sql/src/catalog.rs b/crates/catalog/sql/src/catalog.rs
index c7bf9d0cfd..81d6cde591 100644
--- a/crates/catalog/sql/src/catalog.rs
+++ b/crates/catalog/sql/src/catalog.rs
@@ -774,12 +774,7 @@ impl Catalog for SqlCatalog {
async fn purge_table(&self, table: &TableIdent) -> Result<()> {
let table_info = self.load_table(table).await?;
self.drop_table(table).await?;
- iceberg::drop_table_data(
- table_info.file_io(),
- table_info.metadata(),
- table_info.metadata_location(),
- )
- .await
+ iceberg::drop_table_data(&table_info).await
}
async fn load_table(&self, identifier: &TableIdent) -> Result
{
diff --git a/crates/iceberg/public-api.txt b/crates/iceberg/public-api.txt
index a88c91d625..0008ab8c74 100644
--- a/crates/iceberg/public-api.txt
+++ b/crates/iceberg/public-api.txt
@@ -2025,6 +2025,9 @@ pub fn iceberg::spec::ManifestList::eq(&self, other: &iceberg::spec::ManifestLis
impl core::fmt::Debug for iceberg::spec::ManifestList
pub fn iceberg::spec::ManifestList::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result
impl core::marker::StructuralPartialEq for iceberg::spec::ManifestList
+pub struct iceberg::spec::ManifestListReader
+impl iceberg::spec::ManifestListReader
+pub async fn iceberg::spec::ManifestListReader::load(&self) -> iceberg::Result
pub struct iceberg::spec::ManifestListWriter
impl iceberg::spec::ManifestListWriter
pub fn iceberg::spec::ManifestListWriter::add_manifests(&mut self, manifests: impl core::iter::traits::iterator::Iterator- ) -> iceberg::Result<()>
@@ -2340,7 +2343,6 @@ impl iceberg::spec::Snapshot
pub fn iceberg::spec::Snapshot::added_rows_count(&self) -> core::option::Option
pub fn iceberg::spec::Snapshot::encryption_key_id(&self) -> core::option::Option<&str>
pub fn iceberg::spec::Snapshot::first_row_id(&self) -> core::option::Option
-pub async fn iceberg::spec::Snapshot::load_manifest_list(&self, file_io: &iceberg::io::FileIO, table_metadata: &iceberg::spec::TableMetadata) -> iceberg::Result
pub fn iceberg::spec::Snapshot::manifest_list(&self) -> &str
pub fn iceberg::spec::Snapshot::parent_snapshot_id(&self) -> core::option::Option
pub fn iceberg::spec::Snapshot::row_range(&self) -> core::option::Option<(u64, u64)>
@@ -3014,6 +3016,7 @@ pub fn iceberg::table::Table::current_schema_ref(&self) -> iceberg::spec::Schema
pub fn iceberg::table::Table::file_io(&self) -> &iceberg::io::FileIO
pub fn iceberg::table::Table::identifier(&self) -> &iceberg::TableIdent
pub fn iceberg::table::Table::inspect(&self) -> iceberg::inspect::MetadataTable<'_>
+pub fn iceberg::table::Table::manifest_list_reader(&self, snapshot: &iceberg::spec::SnapshotRef) -> iceberg::spec::ManifestListReader
pub fn iceberg::table::Table::metadata(&self) -> &iceberg::spec::TableMetadata
pub fn iceberg::table::Table::metadata_location(&self) -> core::option::Option<&str>
pub fn iceberg::table::Table::metadata_location_result(&self) -> iceberg::Result<&str>
@@ -3665,5 +3668,5 @@ pub type iceberg::memory::MemoryCatalogBuilder::C = iceberg::memory::MemoryCatal
pub fn iceberg::memory::MemoryCatalogBuilder::load(self, name: impl core::convert::Into, props: std::collections::hash::map::HashMap) -> impl core::future::future::Future