datafusion-ducklake-cli 0.1.0

Interactive and scriptable SQL shell for datafusion-ducklake-provider.
Documentation
use std::io;

use datafusion_ducklake_provider::datafusion::arrow::error::ArrowError;
use datafusion_ducklake_provider::datafusion::error::DataFusionError;
use rustyline::error::ReadlineError;

#[derive(Debug, thiserror::Error)]
pub enum CliError {
    #[error("{0}")]
    Message(String),
    #[error(transparent)]
    DataFusion(#[from] DataFusionError),
    #[error(transparent)]
    Arrow(#[from] ArrowError),
    #[error(transparent)]
    Io(#[from] io::Error),
    #[error(transparent)]
    Readline(#[from] ReadlineError),
}

impl CliError {
    pub fn exit_code(&self) -> i32 {
        1
    }
}

pub(crate) fn err(message: impl Into<String>) -> CliError {
    CliError::Message(message.into())
}