Expand description
Unified Error Handling System for Linkrs
§Design concepts
- Boxed errors: All sub-errors are boxed to keep DBError small (~24 bytes instead of ~160 bytes)
- Error classification: Each error has a class for unified handling strategies
- Error chain: Full error chain support with source tracking
- 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§
- Error
Class - Error classification for unified handling strategies
- Error
Kind - Error kind enumeration for categorization
Type Aliases§
- Boxed
Error - Thread-safe boxed error type
- DBResult
- Harmonized result types
- Shared
Error - Reference-counted error for cloning