Skip to main content

Module error

Module error 

Source
Expand description

Unified Error Handling System for Linkrs

§Design concepts

  1. Boxed errors: All sub-errors are boxed to keep DBError small (~24 bytes instead of ~160 bytes)
  2. Error classification: Each error has a class for unified handling strategies
  3. Error chain: Full error chain support with source tracking
  4. Public API: Stable error codes for external API, hiding internal details

§Error Size Comparison

  • Old design: ~160 bytes (embedded sub-errors)
  • New design: ~24 bytes (boxed sub-errors)

Re-exports§

pub use codes::ErrorCategory as CodeErrorCategory;
pub use codes::ErrorCode;
pub use codes::PublicError;
pub use codes::ToPublicError;
pub use manager::ErrorCategory;
pub use manager::ManagerError;
pub use manager::ManagerResult;
pub use query::PlanNodeVisitError;
pub use query::QueryError;
pub use query::QueryResult;
pub use storage::StorageError;
pub use storage::StorageResult;
pub use crate::types::DataType;

Modules§

codes
Definition of external error codes
manager
Manager Error Type
query
Query layer error type
storage
Storage layer error type

Structs§

DBError
Unified database error type

Enums§

ErrorClass
Error classification for unified handling strategies
ErrorKind
Error kind enumeration for categorization

Type Aliases§

BoxedError
Thread-safe boxed error type
DBResult
Harmonized result types
SharedError
Reference-counted error for cloning