Expand description
NodeDB Array Engine — shared ND sparse array primitives.
This crate provides the type substrate, schema definitions, coordinate encoding, and tile layout used by the array engine on both Origin (server) and Lite (embedded) deployments. Storage, WAL integration, and SQL routing live in their respective Origin-side crates.
Re-exports§
pub use coord::bits_per_dim;pub use coord::decode_hilbert_prefix;pub use coord::decode_zorder_prefix;pub use coord::encode_hilbert_prefix;pub use coord::encode_zorder_prefix;pub use coord::normalize_coord;pub use error::ArrayError;pub use error::ArrayResult;pub use schema::ArraySchema;pub use schema::ArraySchemaBuilder;pub use schema::AttrSpec;pub use schema::CellOrder;pub use schema::DimSpec;pub use schema::DimType;pub use schema::TileOrder;pub use segment::FOOTER_MAGIC;pub use segment::FORMAT_VERSION;pub use segment::HEADER_MAGIC;pub use segment::HilbertPackedRTree;pub use segment::MbrQueryPredicate;pub use segment::SegmentHeader;pub use segment::SegmentReader;pub use segment::SegmentWriter;pub use segment::TileEntry;pub use segment::TileKind;pub use segment::TilePayload;pub use sync::AckVector;pub use sync::ApplyEngine;pub use sync::ApplyOutcome;pub use sync::ApplyRejection;pub use sync::ArrayOp;pub use sync::ArrayOpHeader;pub use sync::ArrayOpKind;pub use sync::CoordRange;pub use sync::GcReport;pub use sync::Hlc;pub use sync::HlcGenerator;pub use sync::OpLog;pub use sync::ReplicaId;pub use sync::SchemaDoc;pub use sync::SnapshotChunk;pub use sync::SnapshotHeader;pub use sync::SnapshotSink;pub use sync::TileSnapshot;pub use tile::AttrStats;pub use tile::DENSE_PROMOTION_THRESHOLD;pub use tile::DenseTile;pub use tile::SparseTile;pub use tile::TileMBR;pub use tile::should_promote_to_dense;pub use tile::sparse_to_dense;pub use tile::tile_id_for_cell;pub use tile::tile_indices_for_cell;pub use types::ArrayId;pub use types::CellValue;pub use types::Coord;pub use types::Domain;pub use types::TileId;pub use wal::ArrayWalRecord;