#![deny(missing_docs)]
#![deny(rustdoc::broken_intra_doc_links)]
pub mod adapter;
mod codec;
mod filter;
pub mod model;
mod root;
mod root_v2;
pub mod snapshot;
#[doc = include_str!("../docs/format-v2.md")]
pub mod format {}
#[doc = include_str!("../docs/format.md")]
pub mod format_v1 {}
#[doc = include_str!("../docs/snapshots.md")]
pub mod snapshots {}
pub use adapter::{Collection, Database};
pub use model::{
CollectionConfig, CollectionInfo, Condition, CountResult, DeleteSelector, DiffResult, Distance,
Filter, GetRequest, GetResult, HistoryEntry, IndexConfig, JsonObject, MatchValue, ObjectId,
ObjectStats, Point, PointId, Query, QueryMode, QueryParams, QueryResult, QueryStats, Range,
Record, ScoredPoint, SnapshotInfo, SnapshotMutation, ValidationReport, WriteResult,
};
pub use snapshot::{Snapshot, SnapshotEngine};
use thiserror::Error;
#[derive(Debug, Error)]
#[non_exhaustive]
pub enum Error {
#[error("Git error: {0}")]
Git(#[from] git2::Error),
#[error("JSON error: {0}")]
Json(#[from] serde_json::Error),
#[error("I/O error: {0}")]
Io(#[from] std::io::Error),
#[error("invalid request: {0}")]
Invalid(String),
#[error("collection not found: {0}")]
CollectionNotFound(String),
#[error("collection already exists: {0}")]
CollectionExists(String),
#[error("stale collection root: expected {expected}, actual {actual}")]
StaleRoot {
expected: ObjectId,
actual: ObjectId,
},
#[error("read-only historical collection")]
ReadOnly,
#[error("corrupt collection: {0}")]
Corrupt(String),
}
pub type Result<T> = std::result::Result<T, Error>;