diff --git a/columnq/src/io/fs.rs b/columnq/src/io/fs.rs index cd6c542..3cc9911 100644 --- a/columnq/src/io/fs.rs +++ b/columnq/src/io/fs.rs @@ -11,11 +11,15 @@ use crate::table::{self, TableIoSource, TableSource}; #[derive(Debug, Snafu)] pub enum Error { #[snafu(display("Could not load table data: {source}"))] - Table { source: table::Error }, + Table { + #[snafu(source(from(table::Error, Box::new)))] + source: Box, + }, #[snafu(display("Could not resolve table extension {table_io_source}: {source}"))] TableExtension { table_io_source: TableIoSource, - source: table::Error, + #[snafu(source(from(table::Error, Box::new)))] + source: Box, }, #[snafu(display( "Failed to build file list for path `{fs_path}` with ext `{file_ext}`: {source}" @@ -23,7 +27,8 @@ pub enum Error { FileList { fs_path: String, file_ext: String, - source: datafusion::error::DataFusionError, + #[snafu(source(from(datafusion::error::DataFusionError, Box::new)))] + source: Box, }, #[snafu(display("Failed to open file `{fpath}`: {source}"))] FileOpen { diff --git a/columnq/src/io/http.rs b/columnq/src/io/http.rs index 02e997d..abc80f2 100644 --- a/columnq/src/io/http.rs +++ b/columnq/src/io/http.rs @@ -17,7 +17,10 @@ pub enum Error { #[snafu(display("Failed to read bytes for {uri}: {source}"))] ReadBytes { uri: String, source: reqwest::Error }, #[snafu(display("Could not load table data"))] - Table { source: table::Error }, + Table { + #[snafu(source(from(table::Error, Box::new)))] + source: Box, + }, #[snafu(display("Invalid header: {source}"))] HeaderName { source: reqwest::header::InvalidHeaderName, diff --git a/columnq/src/io/object_store.rs b/columnq/src/io/object_store.rs index 742f594..c428ffc 100644 --- a/columnq/src/io/object_store.rs +++ b/columnq/src/io/object_store.rs @@ -15,7 +15,8 @@ use crate::table; pub enum Error { #[snafu(display("Could not resolve store for url: {url}"))] GetStore { - source: datafusion::error::DataFusionError, + #[snafu(source(from(datafusion::error::DataFusionError, Box::new)))] + source: Box, url: Url, }, #[snafu(display("Could not get object: {path}"))] @@ -31,7 +32,10 @@ pub enum Error { #[snafu(display("Could not read object bytes"))] ReadObjectBytes { source: object_store::Error }, #[snafu(display("Could not load table data"))] - Table { source: table::Error }, + Table { + #[snafu(source(from(table::Error, Box::new)))] + source: Box, + }, } impl From for io::Error {