use crate::base::{database::ColumnOperationError, math::decimal::DecimalError};
use thiserror::Error;
#[derive(Error, Debug, PartialEq, Eq)]
pub enum ExpressionEvaluationError {
    #[error("Column not found: {0}")]
    ColumnNotFound(String),
    #[error(transparent)]
    ColumnOperationError(#[from] ColumnOperationError),
    #[error("Expression {0} is not supported yet")]
    Unsupported(String),
    #[error(transparent)]
    DecimalConversionError(#[from] DecimalError),
}
pub type ExpressionEvaluationResult<T> = std::result::Result<T, ExpressionEvaluationError>;