donadb-rel 0.1.2

DonaDB Relational — typed schemas, secondary indexes, and relational scans on top of DonaDB. Built for the TruthLinked blockchain.
Documentation
// error.rs — unified error type for donadb-rel.

use thiserror::Error;

#[derive(Debug, Error)]
pub enum RelError {
    #[error("DonaDB error: {0}")]
    Db(#[from] donadb::error::DbError),

    #[error("Schema error: {0}")]
    Schema(String),

    #[error("Type mismatch: field '{field}' expected {expected}, got {got}")]
    TypeMismatch {
        field: String,
        expected: String,
        got: String,
    },

    #[error("Missing required field: '{0}'")]
    MissingField(String),

    #[error("Unknown field: '{0}'")]
    UnknownField(String),

    #[error("Unknown schema: '{0}'")]
    UnknownSchema(String),

    #[error("Unknown index: '{0}'")]
    UnknownIndex(String),

    #[error("Codec error: {0}")]
    Codec(String),

    #[error("Foreign key not found: schema='{schema}' key='{key}'")]
    ForeignKeyNotFound { schema: String, key: String },

    #[error("Index domain overflow: {0}")]
    IndexOverflow(String),
}