use crate::sql::AnalyzeError;
use snafu::Snafu;
#[derive(Snafu, Debug, PartialEq)]
pub(crate) enum EVMProofPlanError {
#[snafu(display("plan not yet supported"))]
NotSupported,
#[snafu(display("column not found"))]
ColumnNotFound,
#[snafu(display("table not found"))]
TableNotFound,
#[snafu(display("table name can not be parsed into TableRef"))]
InvalidTableName,
#[snafu(display("invalid or missing output column name"))]
InvalidOutputColumnName,
#[snafu(display("column counts in group by plans are inconsistent"))]
InconsistentGroupByColumnCounts,
#[snafu(transparent)]
AnalyzeError {
source: AnalyzeError,
},
#[snafu(display("incorrect scaling factor"))]
IncorrectScalingFactor,
}
pub(crate) type EVMProofPlanResult<T> = core::result::Result<T, EVMProofPlanError>;