Skip to content

Commit 9b99491

Browse files
author
Jan Kaul
committed
add deregister schema
1 parent 8e57909 commit 9b99491

File tree

2 files changed

+22
-0
lines changed

2 files changed

+22
-0
lines changed

datafusion_iceberg/src/catalog/catalog.rs

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,4 +70,16 @@ impl CatalogProvider for IcebergCatalog {
7070
Ok(None)
7171
}
7272
}
73+
74+
fn deregister_schema(
75+
&self,
76+
name: &str,
77+
_cascade: bool,
78+
) -> Result<Option<Arc<dyn SchemaProvider>>> {
79+
if self.catalog.deregister_schema(name)?.is_some() {
80+
Ok(self.schema(name))
81+
} else {
82+
Ok(None)
83+
}
84+
}
7385
}

datafusion_iceberg/src/catalog/mirror.rs

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -217,4 +217,14 @@ impl Mirror {
217217
.insert(namespace.to_string(), Node::Namespace(HashSet::new()));
218218
Ok(old_value)
219219
}
220+
221+
pub fn deregister_schema(&self, name: &str) -> Result<Option<NamespaceNode>, DataFusionError> {
222+
match self.storage.remove(name) {
223+
Some((_, Node::Namespace(namespace))) => Ok(Some(namespace)),
224+
None => Ok(None),
225+
_ => Err(DataFusionError::from(Error::from(
226+
IcebergError::InvalidFormat("Schema to drop".to_owned()),
227+
))),
228+
}
229+
}
220230
}

0 commit comments

Comments
 (0)