1use deltalake_core::errors::DeltaTableError;
2
3pub(crate) type Result<T, E = Error> = std::result::Result<T, E>;
4
5#[derive(thiserror::Error, Debug)]
6pub enum Error {
7 #[allow(dead_code)]
8 #[error("failed to parse config: {0}")]
9 Parse(String),
10
11 #[error("Unknown configuration key: {0}")]
13 UnknownConfigKey(String),
14
15 #[error("The `allow_unsafe_rename` parameter must be specified")]
16 AllowUnsafeRenameNotSpecified,
17
18 #[error(transparent)]
19 ObjectStore(#[from] object_store::Error),
20}
21
22impl From<Error> for DeltaTableError {
23 fn from(e: Error) -> Self {
24 match e {
25 Error::Parse(msg) => DeltaTableError::Generic(msg),
26 Error::UnknownConfigKey(msg) => DeltaTableError::Generic(msg),
27 Error::AllowUnsafeRenameNotSpecified => DeltaTableError::Generic(
28 "The `allow_unsafe_rename` parameter must be specified".to_string(),
29 ),
30 Error::ObjectStore(e) => DeltaTableError::ObjectStore { source: e },
31 }
32 }
33}