pub enum Error {
Show 29 variants
NotFound,
TxnClosed,
TxnReadOnly,
TxnConflict,
Io(Error),
InvalidFormat(String),
ChecksumMismatch,
RecoveryIncomplete {
recovered_entries: usize,
stop_offset: u64,
reason: String,
},
CorruptedSegment {
segment_id: u64,
reason: String,
},
DimensionMismatch {
expected: usize,
actual: usize,
},
UnsupportedMetric {
metric: String,
},
InvalidVector {
index: usize,
reason: String,
},
InvalidFilter(String),
MemoryLimitExceeded {
limit: usize,
requested: usize,
},
SpillFailed {
reason: String,
},
CastFailed {
from_type: String,
to_type: String,
reason: String,
},
PathExists(PathBuf),
AlreadyOpen {
path: PathBuf,
lock_path: PathBuf,
holder: String,
},
InvalidParameter {
param: String,
reason: String,
},
IndexNotFound {
name: String,
},
CorruptedIndex {
name: String,
reason: String,
},
UnsupportedIndexVersion {
found: u32,
supported: u32,
},
UnknownOption {
key: String,
},
InvalidColumnType {
column: String,
expected: String,
},
IndexBusy {
operation: String,
},
Columnar(ColumnarError),
ContainerFormat(FormatError),
S3(String),
MissingCredentials(String),
}Expand description
The error type for AlopexDB operations.
Variants§
NotFound
The requested key was not found.
TxnClosed
The transaction has already been closed (committed or rolled back).
TxnReadOnly
Read-only トランザクションで書き込み操作を試みた。
TxnConflict
A transaction conflict occurred (e.g., optimistic concurrency control failure).
Io(Error)
An underlying I/O error occurred.
InvalidFormat(String)
The on-disk format is invalid or corrupted.
ChecksumMismatch
A checksum validation failed.
RecoveryIncomplete
WAL recovery stopped before completion.
Fields
CorruptedSegment
On-disk segment is corrupted (e.g., checksum failure).
DimensionMismatch
A vector with an unexpected dimension was provided.
UnsupportedMetric
A metric that is not supported was requested.
InvalidVector
A vector value is invalid for the requested operation.
Fields
InvalidFilter(String)
A filter expression is malformed or unsupported.
MemoryLimitExceeded
Memory usage exceeded configured limit.
Fields
SpillFailed
External spill operation failed.
CastFailed
A DataFrame scalar cast failed.
Fields
PathExists(PathBuf)
The provided path already exists and cannot be overwritten.
AlreadyOpen
The data directory is already open somewhere else (issue #181).
Alopex’s storage engine has exactly one writer per data directory: the WAL is a fixed-length ring addressed from an in-memory offset and SSTable ids come from a process-local counter, so a second writer overwrites the first one’s bytes. Opening therefore takes an OS-level exclusive lock, and this is what a caller that lost the race sees.
The message deliberately contains the stable, greppable phrase
already open by another process; tests and user-facing tooling match
on that substring rather than on the whole rendering, which varies with
the holder diagnostics (unavailable on Windows — see 裁定 D10).
Fields
InvalidParameter
An index configuration parameter is invalid.
Fields
IndexNotFound
An index with the requested name was not found.
CorruptedIndex
An index failed integrity checks.
UnsupportedIndexVersion
The stored index version is unsupported by this binary.
UnknownOption
An unknown configuration or runtime option was provided.
InvalidColumnType
A column type does not match the expected layout.
IndexBusy
The index is busy and cannot serve the requested operation.
Columnar(ColumnarError)
Errors originating from columnar components.
ContainerFormat(FormatError)
The unified .alopex container format rejected a read or write.
S3(String)
An S3 operation failed.
MissingCredentials(String)
Required credentials are missing.
Trait Implementations§
Source§impl Error for Error
impl Error for Error
Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()