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>;