1use std::path::PathBuf;
7use thiserror::Error;
8
9#[derive(Error, Debug)]
11pub enum SqlStreamError {
12 #[error("File not found: {0}")]
14 FileNotFound(PathBuf),
15
16 #[error("Unsupported file format: {0}. Supported formats: .csv, .json")]
18 UnsupportedFormat(String),
19
20 #[error("DataFusion error: {0}")]
22 DataFusion(#[from] datafusion::error::DataFusionError),
23
24 #[error("Arrow error: {0}")]
26 Arrow(#[from] arrow::error::ArrowError),
27
28 #[error("IO error: {0}")]
30 Io(#[from] std::io::Error),
31
32 #[error("SQL execution failed: {0}")]
34 QueryExecution(String),
35
36 #[error("Failed to register table '{0}': {1}")]
38 TableRegistration(String, String),
39
40 #[error("Failed to infer schema from file: {0}")]
42 SchemaInference(String),
43}
44
45pub type Result<T> = std::result::Result<T, SqlStreamError>;