use nodedb_types::columnar::ColumnType;
#[derive(Debug, Clone, PartialEq, Eq, thiserror::Error)]
pub enum StrictError {
#[error("expected {expected} values, got {got}")]
ValueCountMismatch { expected: usize, got: usize },
#[error("column '{column}': expected {expected}, got incompatible value")]
TypeMismatch {
column: String,
expected: ColumnType,
},
#[error("column '{0}' is NOT NULL and has no default")]
NullViolation(String),
#[error("tuple too short: need at least {expected} bytes, got {got}")]
TruncatedTuple { expected: usize, got: usize },
#[error("column index {index} out of range (schema has {count} columns)")]
ColumnOutOfRange { index: usize, count: usize },
#[error("corrupt offset table: offset {offset} exceeds tuple length {len}")]
CorruptOffset { offset: u32, len: usize },
#[error("tuple schema version {tuple_version} is newer than reader version {reader_version}")]
NewerSchemaVersion {
tuple_version: u16,
reader_version: u16,
},
}