solidb 1.2.2

A lightweight, high-performance structured database server written in Rust.
/// RocksDB handle type used throughout the codebase.
///
/// `MultiThreaded` mode synchronizes the column-family handle map internally
/// (`create_cf`/`drop_cf` take `&self`), so CF creation/drop no longer needs
/// `unsafe` mutable casts of `Arc<DB>` — which raced against the lock-free
/// `cf_handle()` reads done all over the codebase.
pub type RocksDb = rust_rocksdb::DBWithThreadMode<rust_rocksdb::MultiThreaded>;

pub mod cf_ops;
pub mod codec;
pub mod collection;
pub mod collection_registry;
pub mod columnar;
pub mod database;
pub mod document;
pub mod engine;
pub mod geo;
pub mod http_client;
pub mod index;
pub mod pending_drops;
pub mod protected;
pub mod query_cache;
pub mod schema;
pub mod semantic_query_cache;
pub mod serializer;
pub mod vector;

pub use collection::{
    Collection, CollectionStats, DiskUsage, FusionMethod, HybridSearchOptions, HybridSearchResult,
};
pub use columnar::{
    AggregateOp, ColumnDef, ColumnFilter, ColumnType, ColumnarCollection, ColumnarCollectionMeta,
    ColumnarStats, CompressionType,
};
pub use database::Database;
pub use document::Document;
pub use engine::StorageEngine;
pub use geo::{distance_meters, GeoIndex, GeoIndexStats, GeoPoint};
pub use index::{
    bm25_score, calculate_idf, deserialize_fields, extract_field_value, generate_ngrams,
    levenshtein_distance, levenshtein_distance_bounded, ngram_similarity, normalize_text, tokenize,
    FulltextMatch, Index, IndexKind, IndexRef, IndexSpec, IndexStats, IndexType, TtlIndex,
    TtlIndexStats, VectorIndexConfig, VectorIndexStats, VectorMetric, BM25_B, BM25_K1,
    LEVENSHTEIN_MAX_CHARS, NGRAM_SIZE,
};
pub use protected::{
    admin_write_collection_error, check_write_access, is_admin_write_collection,
    is_protected_collection, is_write_denied_collection, is_write_protected_collection,
    protected_collection_error, write_denied_collection_error, write_protected_collection_error,
    WriteActor, ADMIN_WRITE_COLLECTIONS, PROTECTED_COLLECTIONS, WRITE_PROTECTED_COLLECTIONS,
};
pub use schema::{
    CollectionSchema, SchemaCompilationError, SchemaValidationError, SchemaValidationMode,
    SchemaValidator, ValidationResult, ValidationViolation,
};
pub use vector::{VectorIndex, VectorSearchResult};