diff --git a/ARCHITECTURAL_GUARDRAILS.md b/ARCHITECTURAL_GUARDRAILS.md index 8ca44006..7a9b6bfe 100644 --- a/ARCHITECTURAL_GUARDRAILS.md +++ b/ARCHITECTURAL_GUARDRAILS.md @@ -16,11 +16,11 @@ |-------|-----------|-----------| | **Language** | Rust | Memory safety, zero-cost abstractions, ultra-low latency | | **Storage Engine** | LMDB (Lightning Memory-Mapped Database) | ACID transactions, zero-copy reads, embedded-friendly | -| **Query Language** | NexusQL (custom, type-safe) | Domain-specific, compile-time validation | +| **Query Language** | SensibleQL (custom, type-safe) | Domain-specific, compile-time validation | | **Build System** | Cargo (workspace) | Multi-crate dependency management | | **CLI** | Rust (sensibledb-cli) | Cross-platform, single binary distribution | | **Container Runtime** | Rust (sensibledb-container) | Server deployment mode | -| **SDKs** | TypeScript (`nexus-ts`), Python (`nexus-py`) | Primary AI application languages | +| **SDKs** | TypeScript (`sensible-ts`), Python (`sensible-py`) | Primary AI application languages | | **Documentation** | MkDocs | Static site generation from markdown | | **E2E Testing** | Playwright + TypeScript | Browser-level integration testing | @@ -34,11 +34,11 @@ The project is organized as a Cargo workspace with the following crates: |-------|------|----------------| | `sensibledb-db` | `sensibledb-db/` | Core database engine — storage, graph, vector, transactions | | `sensibledb-container` | `sensibledb-container/` | Server/container runtime for hosted deployments | -| `sensibledb-macros` | `sensibledb-macros/` | Procedural macros for NexusQL compilation | +| `sensibledb-macros` | `sensibledb-macros/` | Procedural macros for SensibleQL compilation | | `sensibledb-cli` | `sensibledb-cli/` | CLI tool for project management and query deployment | | `sensibledb-explorer` | `sensibledb-explorer/` | Web-based data explorer UI | | `metrics` | `metrics/` | Observability and metrics collection | -| `nql-tests` | `nql-tests/` | NexusQL query language test suite | +| `nql-tests` | `nql-tests/` | SensibleQL query language test suite | --- @@ -55,12 +55,12 @@ The project is organized as a Cargo workspace with the following crates: - Vector search uses cosine similarity as the default metric ### 4.3 Type Safety End-to-End -- NexusQL queries MUST be 100% type-safe at compile time +- SensibleQL queries MUST be 100% type-safe at compile time - Schema definitions and query validation happen before deployment - Runtime type errors are unacceptable ### 4.4 Security by Default -- Data is private by default — accessible only through compiled NexusQL queries +- Data is private by default — accessible only through compiled SensibleQL queries - No raw data exposure through APIs - AGPL license enforces copyleft for derivative works @@ -90,7 +90,7 @@ The project is organized as a Cargo workspace with the following crates: --- -## 6. Query Language (NexusQL) Guardrails +## 6. Query Language (SensibleQL) Guardrails - Schema definitions use `N::TypeName { ... }` syntax - Queries use `QUERY name(params) => ... RETURN ...` syntax @@ -108,9 +108,9 @@ The project is organized as a Cargo workspace with the following crates: - MCP tools expose graph structure, not database internals ### 7.2 SDK Contracts -- TypeScript SDK: `nexus-ts` — primary SDK for web/Node.js applications -- Python SDK: `nexus-py` — primary SDK for Python/AI applications -- Both SDKs communicate via compiled query endpoints (not raw NexusQL) +- TypeScript SDK: `sensible-ts` — primary SDK for web/Node.js applications +- Python SDK: `sensible-py` — primary SDK for Python/AI applications +- Both SDKs communicate via compiled query endpoints (not raw SensibleQL) - Default server port: `6969` --- @@ -118,7 +118,7 @@ The project is organized as a Cargo workspace with the following crates: ## 8. Testing Guardrails - **Unit tests**: Co-located with source in each crate -- **Query tests**: `nql-tests/` crate for NexusQL validation +- **Query tests**: `nql-tests/` crate for SensibleQL validation - **E2E tests**: Playwright-based in `e2e/` directory - **Metrics**: Collected via `metrics/` crate @@ -140,7 +140,7 @@ Any architectural change that affects these guardrails MUST: - ❌ Do NOT introduce alternative storage engines without an ADR - ❌ Do NOT bypass LMDB transactions for direct file I/O - ❌ Do NOT add runtime type checking where compile-time is possible -- ❌ Do NOT expose raw data through APIs — always go through NexusQL +- ❌ Do NOT expose raw data through APIs — always go through SensibleQL - ❌ Do NOT split graph and vector into separate systems - ❌ Do NOT add external dependencies to the core `sensibledb-db` crate without justification - ❌ Do NOT change the AGPL license without maintainer consensus diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md index a47fb3fe..a1ff4343 100644 --- a/CONTRIBUTORS.md +++ b/CONTRIBUTORS.md @@ -143,8 +143,8 @@ The server process that hosts compiled queries and handles requests. **Architecture:** - Loads compiled queries via inventory crate route discovery -- Creates NexusGraphEngine with LMDB storage backend -- Starts NexusGateway on configured port (default: 6969) +- Creates SensibleGraphEngine with LMDB storage backend +- Starts SensibleGateway on configured port (default: 6969) - Routes HTTP requests to registered handlers **Environment Variables:** diff --git a/README.md b/README.md index d2c2450a..3a566e3a 100644 --- a/README.md +++ b/README.md @@ -22,9 +22,9 @@ SensibleDB primarily operates with a graph + vector data model, but it can also | **Built-in MCP tools** | Nexus has built-in MCP support to allow your agents to discover data and walk the graph rather than generating human readable queries. | | **Built-in Embeddings** | No need to embed your data before sending it to Nexus, just use the `Embed` function to vectorize text. | | **Tooling for RAG** | SensibleDB has a built-in vector search, keyword search, and graph traversals that can be used to power any type of RAG applications. | -| **Secure by Default** | SensibleDB is private by default. You can only access your data through your compiled NexusQL queries. | +| **Secure by Default** | SensibleDB is private by default. You can only access your data through your compiled SensibleQL queries. | | **Ultra-Low Latency** | Nexus is built in Rust and uses LMDB as its storage engine to provide extremely low latencies. | -| **Type-Safe Queries** | NexusQL is 100% type-safe, which lets you develop and deploy with the confidence that your queries will execute in production | +| **Type-Safe Queries** | SensibleQL is 100% type-safe, which lets you develop and deploy with the confidence that your queries will execute in production | | **Embedded Mode** | Use SensibleDB as a lightweight embedded database in your Rust applications with zero external dependencies. | ## Embedded Mode @@ -107,10 +107,10 @@ Start by installing the SensibleDB CLI tool to deploy Nexus locally. nexus push dev ``` -6. Start calling them using our [TypeScript SDK](https://github.com/SensibleDB/nexus-ts) or [Python SDK](https://github.com/SensibleDB/nexus-py). For example: +6. Start calling them using our [TypeScript SDK](https://github.com/SensibleDB/sensible-ts) or [Python SDK](https://github.com/SensibleDB/sensible-py). For example: ```typescript - import SensibleDB from "nexus-ts"; + import SensibleDB from "sensible-ts"; // Create a new SensibleDB client // The default port is 6969 diff --git a/docs/INDEX.md b/docs/INDEX.md index 5e67795d..975a4cb9 100644 --- a/docs/INDEX.md +++ b/docs/INDEX.md @@ -5,8 +5,8 @@ - [Getting Started](#getting-started) - [Overview](#overview) - [Installation](#installation) -- [NexusQL Query Language](#nexusql-query-language) - - [Overview](#nexusql-overview) +- [SensibleQL Query Language](#sensibleql-query-language) + - [Overview](#sensibleql-overview) - [Schema Definition](#schema-definition) - [CRUD Operations](#crud-operations) - [Graph Traversals](#graph-traversals) @@ -141,15 +141,15 @@ curl -X POST http://localhost:6969/getUser \ --- -## NexusQL Query Language +## SensibleQL Query Language ### Overview -NexusQL is a **strongly typed, compiled query language** for SensibleDB that combines the best features of Gremlin, Cypher, and Rust. +SensibleQL is a **strongly typed, compiled query language** for SensibleDB that combines the best features of Gremlin, Cypher, and Rust. -#### Why NexusQL? +#### Why SensibleQL? -| Feature | NexusQL | Gremlin | Cypher | +| Feature | SensibleQL | Gremlin | Cypher | |---------|---------|---------|--------| | Type Safety | Compile-time | Runtime | Runtime | | Syntax | Clean, concise | Verbose | Readable | @@ -390,11 +390,11 @@ port = 6969 ### TypeScript ```bash -npm install nexus-ts +npm install sensible-ts ``` ```typescript -import SensibleDB from "nexus-ts"; +import SensibleDB from "sensible-ts"; const client = new SensibleDB(); const user = await client.query("getUser", { name: "John" }); ``` @@ -402,7 +402,7 @@ const user = await client.query("getUser", { name: "John" }); ### Python ```bash -pip install nexus-py +pip install sensible-py ``` ```python @@ -437,7 +437,7 @@ Use `Embed()` directly in queries — no external embedding service needed. Vector search, BM25 keyword search, graph traversals, hybrid search with RRF, and MMR reranking. ### Security -Private by default. Data accessible only through compiled NexusQL queries. Type-safe queries prevent injection attacks. +Private by default. Data accessible only through compiled SensibleQL queries. Type-safe queries prevent injection attacks. ### Ultra-Low Latency Rust + LMDB memory-mapped B-trees for near-zero overhead access. diff --git a/docs/features/overview.md b/docs/features/overview.md index 712be07b..42622f00 100644 --- a/docs/features/overview.md +++ b/docs/features/overview.md @@ -14,7 +14,7 @@ Vector search, BM25 keyword search, graph traversals, hybrid search with RRF. ## Security -Private by default. Data accessible only through compiled NexusQL queries. +Private by default. Data accessible only through compiled SensibleQL queries. ## Ultra-Low Latency diff --git a/docs/nexusql/overview.md b/docs/nexusql/overview.md index 5bd099b2..755f9a97 100644 --- a/docs/nexusql/overview.md +++ b/docs/nexusql/overview.md @@ -1,10 +1,10 @@ -# What is NexusQL? +# What is SensibleQL? -NexusQL is a **strongly typed, compiled query language** for SensibleDB. +SensibleQL is a **strongly typed, compiled query language** for SensibleDB. -## Why NexusQL? +## Why SensibleQL? -| Feature | NexusQL | Gremlin | Cypher | +| Feature | SensibleQL | Gremlin | Cypher | |---------|---------|---------|--------| | Type Safety | Compile-time | Runtime | Runtime | | Performance | Compiled | Interpreted | Interpreted | diff --git a/docs/overview/about.md b/docs/overview/about.md index ef8a6970..9ad3c9dc 100644 --- a/docs/overview/about.md +++ b/docs/overview/about.md @@ -11,7 +11,7 @@ SensibleDB eliminates the complexity of managing multiple specialized databases - **Graph-Vector Data Model**: Native support for both graph relationships and vector embeddings - **Rust Implementation**: Memory-safe, high-performance systems programming language - **Embedded Mode**: Zero-dependency usage in Rust applications -- **Type-Safe Queries**: Compile-time validation of NexusQL queries +- **Type-Safe Queries**: Compile-time validation of SensibleQL queries - **Built-in AI Tooling**: MCP support, automatic embeddings, vector search - **Secure by Design**: Private by default access through compiled queries diff --git a/docs/overview/distinctive-features.md b/docs/overview/distinctive-features.md index 47f0d178..afd9464b 100644 --- a/docs/overview/distinctive-features.md +++ b/docs/overview/distinctive-features.md @@ -40,7 +40,7 @@ Benefits: ## Secure by Default -**Query-Based Access Control**: SensibleDB is private by default - you can only access your data through compiled NexusQL queries. +**Query-Based Access Control**: SensibleDB is private by default - you can only access your data through compiled SensibleQL queries. Security Model: - No direct table or collection access @@ -74,7 +74,7 @@ Benefits: ## Type-Safe Queries -**Compile-Time Query Validation**: NexusQL is 100% type-safe, which lets you develop and deploy with confidence that your queries will execute in production. +**Compile-Time Query Validation**: SensibleQL is 100% type-safe, which lets you develop and deploy with confidence that your queries will execute in production. Type Safety Features: - Schema validation at compile time diff --git a/docs/programming-interfaces/5-minutes.md b/docs/programming-interfaces/5-minutes.md index 3303a77a..3358600c 100644 --- a/docs/programming-interfaces/5-minutes.md +++ b/docs/programming-interfaces/5-minutes.md @@ -69,7 +69,7 @@ fn main() -> Result<(), Box> { id: 1, label: "Dog".to_string(), // In a real implementation, you'd set vector properties here - // This would typically be done through NexusQL or specific vector APIs + // This would typically be done through SensibleQL or specific vector APIs }; tx.put_node(dog_node)?; @@ -82,7 +82,7 @@ fn main() -> Result<(), Box> { tx.commit()?; // Perform vector similarity search (conceptual example) - // Actual implementation would use NexusQL or specific vector search APIs + // Actual implementation would use SensibleQL or specific vector search APIs let read_tx = db.read_transaction()?; let nodes = read_tx.scan_nodes()?; println!("Found {} nodes", nodes.len()); @@ -133,6 +133,6 @@ fn main() -> Result<(), Box> { ## Next Steps - Check out the [API Reference](./api-reference.md) for complete documentation -- Learn about [NexusQL](../query-language/syntax.md) for powerful querying +- Learn about [SensibleQL](../query-language/syntax.md) for powerful querying - Explore the [Features](../features/README.md) to understand advanced capabilities - See the [Getting Started Guide](../../overview/getting-started.md) for more detailed examples \ No newline at end of file diff --git a/docs/sdks/overview.md b/docs/sdks/overview.md index 2d76e6f9..acc0cea0 100644 --- a/docs/sdks/overview.md +++ b/docs/sdks/overview.md @@ -3,11 +3,11 @@ ## TypeScript SDK ```bash -npm install nexus-ts +npm install sensible-ts ``` ```typescript -import SensibleDB from "nexus-ts"; +import SensibleDB from "sensible-ts"; const client = new SensibleDB(); const user = await client.query("getUser", { name: "John" }); ``` @@ -15,7 +15,7 @@ const user = await client.query("getUser", { name: "John" }); ## Python SDK ```bash -pip install nexus-py +pip install sensible-py ``` ```python diff --git a/mkdocs.yml b/mkdocs.yml index 69a58e33..12f2f7a9 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -46,12 +46,12 @@ nav: - Getting Started: - Overview: getting-started/intro.md - Installation: getting-started/installation.md - - NexusQL: - - Overview: nexusql/overview.md - - Schema Definition: nexusql/schema-definition.md - - CRUD Operations: nexusql/crud-operations.md - - Graph Traversals: nexusql/traversals.md - - Vector Operations: nexusql/vector-operations.md + - SensibleQL: + - Overview: sensibleql/overview.md + - Schema Definition: sensibleql/schema-definition.md + - CRUD Operations: sensibleql/crud-operations.md + - Graph Traversals: sensibleql/traversals.md + - Vector Operations: sensibleql/vector-operations.md - CLI: - Getting Started: cli/getting-started.md - SDKs: diff --git a/sensibledb-container/src/main.rs b/sensibledb-container/src/main.rs index 24a7bd2c..d82fe15d 100644 --- a/sensibledb-container/src/main.rs +++ b/sensibledb-container/src/main.rs @@ -2,11 +2,11 @@ use sensibledb_db::sensibledb_engine::{ storage_core::version_info::{ ItemInfo, Transition, TransitionFn, TransitionSubmission, VersionInfo, }, - traversal_core::{NexusGraphEngine, NexusGraphEngineOpts}, + traversal_core::{SensibleGraphEngine, SensibleGraphEngineOpts}, }; use sensibledb_db::sensibledb_gateway::mcp::mcp::{MCPHandlerFn, MCPHandlerSubmission}; use sensibledb_db::sensibledb_gateway::{ - gateway::{GatewayOpts, NexusGateway}, + gateway::{GatewayOpts, SensibleGateway}, router::router::{HandlerFn, HandlerSubmission}, }; use std::{collections::HashMap, sync::Arc}; @@ -98,14 +98,14 @@ fn main() { ); let path_str = path.to_str().expect("Could not convert path to string"); - let opts = NexusGraphEngineOpts { + let opts = SensibleGraphEngineOpts { path: path_str.to_string(), config, version_info: VersionInfo(transition_fns), }; let graph = Arc::new( - NexusGraphEngine::new(opts.clone()) + SensibleGraphEngine::new(opts.clone()) .unwrap_or_else(|e| panic!("Failed to create graph engine: {e}")), ); @@ -145,7 +145,7 @@ fn main() { println!("Routes: {:?}", query_routes.keys()); println!("Write routes: {:?}", write_routes); - let gateway = NexusGateway::new( + let gateway = SensibleGateway::new( &format!("0.0.0.0:{port}"), graph, GatewayOpts::DEFAULT_WORKERS_PER_CORE, diff --git a/sensibledb-db/src/embedded/storage/lmdb/mod.rs b/sensibledb-db/src/embedded/storage/lmdb/mod.rs index 6837940c..a49a8aa1 100644 --- a/sensibledb-db/src/embedded/storage/lmdb/mod.rs +++ b/sensibledb-db/src/embedded/storage/lmdb/mod.rs @@ -3,11 +3,11 @@ use crate::embedded::transaction::{Edge, Node}; use crate::storage::StorageBackend; #[cfg(feature = "lmdb")] -use sensibledb_db::sensibledb_engine::storage_core::NexusGraphStorage; +use sensibledb_db::sensibledb_engine::storage_core::SensibleGraphStorage; pub struct LmdbStorage { #[cfg(feature = "lmdb")] - storage: NexusGraphStorage, + storage: SensibleGraphStorage, } #[cfg(feature = "lmdb")] @@ -18,7 +18,7 @@ impl LmdbStorage { ) -> Result { let version_info = sensibledb_db::sensibledb_engine::storage_core::version_info::VersionInfo::default(); - let storage = NexusGraphStorage::new(path, config, version_info) + let storage = SensibleGraphStorage::new(path, config, version_info) .map_err(|e| Error::Storage(e.to_string()))?; Ok(Self { storage }) } diff --git a/sensibledb-db/src/sensibledb_engine/bm25/bm25.rs b/sensibledb-db/src/sensibledb_engine/bm25/bm25.rs index 8e5ef00d..6b911bef 100644 --- a/sensibledb-db/src/sensibledb_engine/bm25/bm25.rs +++ b/sensibledb-db/src/sensibledb_engine/bm25/bm25.rs @@ -1,7 +1,7 @@ use crate::{ debug_println, sensibledb_engine::{ - storage_core::NexusGraphStorage, + storage_core::SensibleGraphStorage, types::GraphError, vector_core::{hnsw::HNSW, vector::HVector}, }, @@ -937,7 +937,7 @@ pub trait HybridSearch { ) -> impl std::future::Future, GraphError>> + Send; } -impl HybridSearch for NexusGraphStorage { +impl HybridSearch for SensibleGraphStorage { async fn hybrid_search( self, query: &str, diff --git a/sensibledb-db/src/sensibledb_engine/bm25/bm25_tests.rs b/sensibledb-db/src/sensibledb_engine/bm25/bm25_tests.rs index 41bfdc13..333a000e 100644 --- a/sensibledb-db/src/sensibledb_engine/bm25/bm25_tests.rs +++ b/sensibledb-db/src/sensibledb_engine/bm25/bm25_tests.rs @@ -7,7 +7,7 @@ mod tests { HBM25Config, HybridSearch, METADATA_KEY, PostingListEntry, ReversePostingEntry, build_bm25_payload, }, - storage_core::{NexusGraphStorage, version_info::VersionInfo}, + storage_core::{SensibleGraphStorage, version_info::VersionInfo}, traversal_core::config::Config, vector_core::{hnsw::HNSW, vector::HVector}, }, @@ -44,11 +44,11 @@ mod tests { (config, temp_dir) } - fn setup_nexus_storage() -> (NexusGraphStorage, tempfile::TempDir) { + fn setup_nexus_storage() -> (SensibleGraphStorage, tempfile::TempDir) { let temp_dir = tempdir().unwrap(); let path = temp_dir.path().to_str().unwrap(); let config = Config::default(); - let storage = NexusGraphStorage::new(path, config, VersionInfo::default()).unwrap(); + let storage = SensibleGraphStorage::new(path, config, VersionInfo::default()).unwrap(); (storage, temp_dir) } diff --git a/sensibledb-db/src/sensibledb_engine/storage_core/graph_visualization.rs b/sensibledb-db/src/sensibledb_engine/storage_core/graph_visualization.rs index a4582ae8..5ac14668 100644 --- a/sensibledb-db/src/sensibledb_engine/storage_core/graph_visualization.rs +++ b/sensibledb-db/src/sensibledb_engine/storage_core/graph_visualization.rs @@ -1,6 +1,6 @@ use crate::{ debug_println, - sensibledb_engine::{storage_core::NexusGraphStorage, types::GraphError}, + sensibledb_engine::{storage_core::SensibleGraphStorage, types::GraphError}, utils::items::Node, }; use heed3::{RoIter, RoTxn, types::*}; @@ -25,7 +25,7 @@ pub trait GraphVisualization { fn get_db_stats_json(&self, txn: &RoTxn) -> Result; } -impl GraphVisualization for NexusGraphStorage { +impl GraphVisualization for SensibleGraphStorage { fn nodes_edges_to_json( &self, txn: &RoTxn, @@ -62,7 +62,7 @@ impl GraphVisualization for NexusGraphStorage { } /// Implementing the helper functions needed to get the data for graph visualization -impl NexusGraphStorage { +impl SensibleGraphStorage { /// Get the top k nodes and all of the edges associated with them by checking their /// cardinalities (total number of in and out edges) #[allow(clippy::type_complexity)] diff --git a/sensibledb-db/src/sensibledb_engine/storage_core/mod.rs b/sensibledb-db/src/sensibledb_engine/storage_core/mod.rs index ef79000f..a5950776 100644 --- a/sensibledb-db/src/sensibledb_engine/storage_core/mod.rs +++ b/sensibledb-db/src/sensibledb_engine/storage_core/mod.rs @@ -51,7 +51,7 @@ pub struct StorageConfig { pub embedding_model: Option, } -pub struct NexusGraphStorage { +pub struct SensibleGraphStorage { pub graph_env: Env, pub nodes_db: Database, Bytes>, @@ -67,12 +67,12 @@ pub struct NexusGraphStorage { pub storage_config: StorageConfig, } -impl NexusGraphStorage { +impl SensibleGraphStorage { pub fn new( path: &str, config: Config, version_info: VersionInfo, - ) -> Result { + ) -> Result { fs::create_dir_all(path)?; let db_size = if config.db_max_size_gb.unwrap_or(100) >= 9999 { @@ -308,7 +308,7 @@ impl StorageConfig { } } -impl DBMethods for NexusGraphStorage { +impl DBMethods for SensibleGraphStorage { /// Creates a secondary index lmdb db (table) for a given index name fn create_secondary_index(&mut self, index: SecondaryIndex) -> Result<(), GraphError> { let mut wtxn = self.graph_env.write_txn()?; @@ -344,7 +344,7 @@ impl DBMethods for NexusGraphStorage { } } -impl StorageMethods for NexusGraphStorage { +impl StorageMethods for SensibleGraphStorage { #[inline] fn get_node<'arena>( &self, diff --git a/sensibledb-db/src/sensibledb_engine/storage_core/storage_concurrent_tests.rs b/sensibledb-db/src/sensibledb_engine/storage_core/storage_concurrent_tests.rs index 3b8d5102..3d10a960 100644 --- a/sensibledb-db/src/sensibledb_engine/storage_core/storage_concurrent_tests.rs +++ b/sensibledb-db/src/sensibledb_engine/storage_core/storage_concurrent_tests.rs @@ -1,7 +1,7 @@ /// Concurrent access tests for Storage Layer /// /// This test suite validates thread safety and concurrent operation correctness -/// for the NexusGraphStorage implementation. Key areas tested: +/// for the SensibleGraphStorage implementation. Key areas tested: /// /// 1. **Concurrent Node/Edge Operations**: Multiple threads creating/dropping nodes and edges /// 2. **Transaction Isolation**: MVCC snapshot isolation during concurrent operations @@ -16,7 +16,7 @@ use std::sync::{Arc, Barrier}; use std::thread; use tempfile::TempDir; -use crate::sensibledb_engine::storage_core::NexusGraphStorage; +use crate::sensibledb_engine::storage_core::SensibleGraphStorage; use crate::sensibledb_engine::storage_core::version_info::VersionInfo; use crate::sensibledb_engine::traversal_core::config::Config; use crate::utils::items::{Edge, Node}; @@ -24,7 +24,7 @@ use bumpalo::Bump; use uuid::Uuid; /// Setup storage for concurrent testing -fn setup_concurrent_storage() -> (Arc, TempDir) { +fn setup_concurrent_storage() -> (Arc, TempDir) { let temp_dir = tempfile::tempdir().unwrap(); let path = temp_dir.path().to_str().unwrap(); @@ -33,7 +33,7 @@ fn setup_concurrent_storage() -> (Arc, TempDir) { let version_info = VersionInfo::default(); - let storage = NexusGraphStorage::new(path, config, version_info).unwrap(); + let storage = SensibleGraphStorage::new(path, config, version_info).unwrap(); (Arc::new(storage), temp_dir) } diff --git a/sensibledb-db/src/sensibledb_engine/storage_core/storage_migration.rs b/sensibledb-db/src/sensibledb_engine/storage_core/storage_migration.rs index 699903dc..84349228 100644 --- a/sensibledb-db/src/sensibledb_engine/storage_core/storage_migration.rs +++ b/sensibledb-db/src/sensibledb_engine/storage_core/storage_migration.rs @@ -1,7 +1,7 @@ use crate::{ sensibledb_engine::{ bm25::bm25::{BM25_SCHEMA_VERSION, HBM25Config}, - storage_core::NexusGraphStorage, + storage_core::SensibleGraphStorage, types::GraphError, vector_core::{vector::HVector, vector_core}, }, @@ -14,7 +14,7 @@ use std::{collections::HashMap, ops::Bound}; use super::metadata::{NATIVE_VECTOR_ENDIANNESS, StorageMetadata, VectorEndianness}; -pub fn migrate(storage: &mut NexusGraphStorage) -> Result<(), GraphError> { +pub fn migrate(storage: &mut SensibleGraphStorage) -> Result<(), GraphError> { let mut metadata = { let txn = storage.graph_env.read_txn()?; StorageMetadata::read(&txn, &storage.metadata_db)? @@ -44,7 +44,7 @@ pub fn migrate(storage: &mut NexusGraphStorage) -> Result<(), GraphError> { Ok(()) } -fn migrate_bm25(storage: &mut NexusGraphStorage) -> Result<(), GraphError> { +fn migrate_bm25(storage: &mut SensibleGraphStorage) -> Result<(), GraphError> { const BATCH_SIZE: usize = 1024; let Some(bm25) = storage.bm25.as_ref() else { @@ -93,7 +93,7 @@ fn migrate_bm25(storage: &mut NexusGraphStorage) -> Result<(), GraphError> { } fn rebuild_bm25_batch( - storage: &NexusGraphStorage, + storage: &SensibleGraphStorage, bm25: &HBM25Config, batch: &[(u128, Vec)], ) -> Result<(), GraphError> { @@ -112,7 +112,7 @@ fn rebuild_bm25_batch( } pub(crate) fn migrate_pre_metadata_to_native_vector_endianness( - storage: &mut NexusGraphStorage, + storage: &mut SensibleGraphStorage, ) -> Result { // In PreMetadata, all vectors are stored as big endian. // If we are on a big endian machine, all we need to do is store the metadata. @@ -140,7 +140,7 @@ pub(crate) fn migrate_pre_metadata_to_native_vector_endianness( pub(crate) fn convert_vectors_to_native_endianness( currently_stored_vector_endianness: VectorEndianness, - storage: &mut NexusGraphStorage, + storage: &mut SensibleGraphStorage, ) -> Result { // Convert all vectors from currently_stored_vector_endianness to native endianness convert_all_vectors(currently_stored_vector_endianness, storage)?; @@ -159,7 +159,7 @@ pub(crate) fn convert_vectors_to_native_endianness( pub(crate) fn convert_all_vectors( source_endianness: VectorEndianness, - storage: &mut NexusGraphStorage, + storage: &mut SensibleGraphStorage, ) -> Result<(), GraphError> { const BATCH_SIZE: usize = 1024; @@ -281,7 +281,7 @@ pub(crate) fn convert_vector_endianness<'arena>( } pub(crate) fn convert_all_vector_properties( - storage: &mut NexusGraphStorage, + storage: &mut SensibleGraphStorage, ) -> Result<(), GraphError> { const BATCH_SIZE: usize = 1024; @@ -377,7 +377,7 @@ pub(crate) fn convert_old_vector_properties_to_new_format( new_vector.to_bincode_bytes().map_err(GraphError::from) } -fn verify_vectors_and_repair(storage: &NexusGraphStorage) -> Result<(), GraphError> { +fn verify_vectors_and_repair(storage: &SensibleGraphStorage) -> Result<(), GraphError> { // Verify that all vectors at level > 0 also exist at level 0 and collect ones that need repair println!("\nVerifying vector integrity after migration..."); let vectors_to_repair: Vec<(u128, usize)> = { @@ -471,7 +471,7 @@ fn verify_vectors_and_repair(storage: &NexusGraphStorage) -> Result<(), GraphErr Ok(()) } -fn remove_orphaned_vector_edges(storage: &NexusGraphStorage) -> Result<(), GraphError> { +fn remove_orphaned_vector_edges(storage: &SensibleGraphStorage) -> Result<(), GraphError> { let txn = storage.graph_env.read_txn()?; let mut orphaned_edges = Vec::new(); diff --git a/sensibledb-db/src/sensibledb_engine/storage_core/storage_migration_tests.rs b/sensibledb-db/src/sensibledb_engine/storage_core/storage_migration_tests.rs index 4ebbe58d..8f3b0a42 100644 --- a/sensibledb-db/src/sensibledb_engine/storage_core/storage_migration_tests.rs +++ b/sensibledb-db/src/sensibledb_engine/storage_core/storage_migration_tests.rs @@ -9,7 +9,7 @@ //! - Performance tests for large datasets use super::{ - NexusGraphStorage, + SensibleGraphStorage, metadata::{NATIVE_VECTOR_ENDIANNESS, StorageMetadata, VectorEndianness}, storage_migration::{ convert_all_vector_properties, convert_old_vector_properties_to_new_format, @@ -40,13 +40,13 @@ use tempfile::TempDir; // ============================================================================ /// Helper function to create a test storage instance -fn setup_test_storage() -> (NexusGraphStorage, TempDir) { +fn setup_test_storage() -> (SensibleGraphStorage, TempDir) { let temp_dir = TempDir::new().unwrap(); let config = Config::default(); let version_info = VersionInfo::default(); let storage = - NexusGraphStorage::new(temp_dir.path().to_str().unwrap(), config, version_info).unwrap(); + SensibleGraphStorage::new(temp_dir.path().to_str().unwrap(), config, version_info).unwrap(); (storage, temp_dir) } @@ -96,7 +96,7 @@ fn create_old_properties( /// Populate storage with test vectors in a specific endianness fn populate_test_vectors( - storage: &mut NexusGraphStorage, + storage: &mut SensibleGraphStorage, count: usize, endianness: VectorEndianness, ) -> Result<(), GraphError> { @@ -119,7 +119,7 @@ fn populate_test_vectors( /// Populate storage with old-format properties fn populate_old_properties( - storage: &mut NexusGraphStorage, + storage: &mut SensibleGraphStorage, count: usize, ) -> Result<(), GraphError> { let mut txn = storage.graph_env.write_txn()?; @@ -145,7 +145,7 @@ fn populate_old_properties( /// Set storage metadata to a specific state #[allow(dead_code)] fn set_metadata( - storage: &mut NexusGraphStorage, + storage: &mut SensibleGraphStorage, metadata: StorageMetadata, ) -> Result<(), GraphError> { let mut txn = storage.graph_env.write_txn()?; @@ -156,7 +156,7 @@ fn set_metadata( /// Read all vectors from storage and return as f64 values fn read_all_vectors( - storage: &NexusGraphStorage, + storage: &SensibleGraphStorage, endianness: VectorEndianness, ) -> Result>, GraphError> { let txn = storage.graph_env.read_txn()?; @@ -172,7 +172,7 @@ fn read_all_vectors( } /// Clear all metadata from storage (simulates PreMetadata state) -fn clear_metadata(storage: &mut NexusGraphStorage) -> Result<(), GraphError> { +fn clear_metadata(storage: &mut SensibleGraphStorage) -> Result<(), GraphError> { let mut txn = storage.graph_env.write_txn()?; storage.metadata_db.clear(&mut txn)?; txn.commit()?; @@ -180,7 +180,7 @@ fn clear_metadata(storage: &mut NexusGraphStorage) -> Result<(), GraphError> { } fn add_test_node( - storage: &NexusGraphStorage, + storage: &SensibleGraphStorage, label: &'static str, properties: &[(&'static str, Value)], ) -> u128 { @@ -204,7 +204,7 @@ fn add_test_node( node_id } -fn bm25_search_ids(storage: &NexusGraphStorage, query: &str) -> Vec { +fn bm25_search_ids(storage: &SensibleGraphStorage, query: &str) -> Vec { let arena = Bump::new(); let txn = storage.graph_env.read_txn().unwrap(); storage diff --git a/sensibledb-db/src/sensibledb_engine/tests/capacity_optimization_tests.rs b/sensibledb-db/src/sensibledb_engine/tests/capacity_optimization_tests.rs index a2fc172b..8d09b9c1 100644 --- a/sensibledb-db/src/sensibledb_engine/tests/capacity_optimization_tests.rs +++ b/sensibledb-db/src/sensibledb_engine/tests/capacity_optimization_tests.rs @@ -12,7 +12,7 @@ use tempfile::TempDir; use crate::{ sensibledb_engine::{ bm25::bm25::BM25, - storage_core::NexusGraphStorage, + storage_core::SensibleGraphStorage, traversal_core::{ config::Config, ops::{ @@ -29,17 +29,17 @@ use crate::{ utils::{id::v6_uuid, properties::ImmutablePropertiesMap}, }; -fn setup_test_db(temp_dir: &TempDir) -> Arc { +fn setup_test_db(temp_dir: &TempDir) -> Arc { let db_path = temp_dir.path().to_str().unwrap(); let mut config = Config::default(); config.bm25 = Some(true); - let storage = NexusGraphStorage::new(db_path, config, Default::default()).unwrap(); + let storage = SensibleGraphStorage::new(db_path, config, Default::default()).unwrap(); Arc::new(storage) } -fn setup_test_db_with_nodes(count: usize, temp_dir: &TempDir) -> Arc { +fn setup_test_db_with_nodes(count: usize, temp_dir: &TempDir) -> Arc { let storage = setup_test_db(temp_dir); let mut txn = storage.graph_env.write_txn().unwrap(); let arena = Bump::new(); diff --git a/sensibledb-db/src/sensibledb_engine/tests/concurrency_tests/hnsw_concurrent_tests.rs b/sensibledb-db/src/sensibledb_engine/tests/concurrency_tests/hnsw_concurrent_tests.rs index 32b8de34..ba1db2a3 100644 --- a/sensibledb-db/src/sensibledb_engine/tests/concurrency_tests/hnsw_concurrent_tests.rs +++ b/sensibledb-db/src/sensibledb_engine/tests/concurrency_tests/hnsw_concurrent_tests.rs @@ -21,7 +21,7 @@ use std::sync::{Arc, Barrier}; use std::thread; use tempfile::TempDir; -use crate::sensibledb_engine::storage_core::NexusGraphStorage; +use crate::sensibledb_engine::storage_core::SensibleGraphStorage; use crate::sensibledb_engine::storage_core::version_info::VersionInfo; use crate::sensibledb_engine::traversal_core::config::Config; use crate::sensibledb_engine::traversal_core::ops::g::G; @@ -32,7 +32,7 @@ use crate::sensibledb_engine::vector_core::vector::HVector; type Filter = fn(&HVector, &RoTxn) -> bool; /// Setup storage for concurrent testing -fn setup_concurrent_storage() -> (Arc, TempDir) { +fn setup_concurrent_storage() -> (Arc, TempDir) { let temp_dir = tempfile::tempdir().unwrap(); let path = temp_dir.path().to_str().unwrap(); @@ -41,7 +41,7 @@ fn setup_concurrent_storage() -> (Arc, TempDir) { let version_info = VersionInfo::default(); - let storage = NexusGraphStorage::new(path, config, version_info).unwrap(); + let storage = SensibleGraphStorage::new(path, config, version_info).unwrap(); (Arc::new(storage), temp_dir) } diff --git a/sensibledb-db/src/sensibledb_engine/tests/concurrency_tests/integration_stress_tests.rs b/sensibledb-db/src/sensibledb_engine/tests/concurrency_tests/integration_stress_tests.rs index 9b72617e..90e061e4 100644 --- a/sensibledb-db/src/sensibledb_engine/tests/concurrency_tests/integration_stress_tests.rs +++ b/sensibledb-db/src/sensibledb_engine/tests/concurrency_tests/integration_stress_tests.rs @@ -23,7 +23,7 @@ use std::thread; use std::time::Duration; use tempfile::TempDir; -use crate::sensibledb_engine::storage_core::NexusGraphStorage; +use crate::sensibledb_engine::storage_core::SensibleGraphStorage; use crate::sensibledb_engine::traversal_core::config::Config; use crate::sensibledb_engine::traversal_core::ops::g::G; use crate::sensibledb_engine::traversal_core::ops::out::out::OutAdapter; @@ -32,14 +32,14 @@ use crate::sensibledb_engine::traversal_core::ops::source::{ }; /// Setup storage with appropriate configuration for stress testing -fn setup_stress_storage() -> (Arc, TempDir) { +fn setup_stress_storage() -> (Arc, TempDir) { let temp_dir = tempfile::tempdir().unwrap(); let path = temp_dir.path().to_str().unwrap(); let mut config = Config::default(); config.db_max_size_gb = Some(20); // Large size for stress tests - let storage = NexusGraphStorage::new(path, config, Default::default()).unwrap(); + let storage = SensibleGraphStorage::new(path, config, Default::default()).unwrap(); (Arc::new(storage), temp_dir) } diff --git a/sensibledb-db/src/sensibledb_engine/tests/concurrency_tests/traversal_concurrent_tests.rs b/sensibledb-db/src/sensibledb_engine/tests/concurrency_tests/traversal_concurrent_tests.rs index 9832d0d0..913bf0d5 100644 --- a/sensibledb-db/src/sensibledb_engine/tests/concurrency_tests/traversal_concurrent_tests.rs +++ b/sensibledb-db/src/sensibledb_engine/tests/concurrency_tests/traversal_concurrent_tests.rs @@ -19,7 +19,7 @@ use std::sync::{Arc, Barrier}; use std::thread; use tempfile::TempDir; -use crate::sensibledb_engine::storage_core::NexusGraphStorage; +use crate::sensibledb_engine::storage_core::SensibleGraphStorage; use crate::sensibledb_engine::traversal_core::config::Config; use crate::sensibledb_engine::traversal_core::ops::g::G; use crate::sensibledb_engine::traversal_core::ops::in_::in_::InAdapter; @@ -29,14 +29,14 @@ use crate::sensibledb_engine::traversal_core::ops::source::{ }; /// Setup storage for concurrent testing -fn setup_concurrent_storage() -> (TempDir, Arc) { +fn setup_concurrent_storage() -> (TempDir, Arc) { let temp_dir = tempfile::tempdir().unwrap(); let path = temp_dir.path().to_str().unwrap(); let mut config = Config::default(); config.db_max_size_gb = Some(10); - let storage = NexusGraphStorage::new(path, config, Default::default()).unwrap(); + let storage = SensibleGraphStorage::new(path, config, Default::default()).unwrap(); (temp_dir, Arc::new(storage)) } diff --git a/sensibledb-db/src/sensibledb_engine/tests/storage_tests.rs b/sensibledb-db/src/sensibledb_engine/tests/storage_tests.rs index bd287c97..a2be368d 100644 --- a/sensibledb-db/src/sensibledb_engine/tests/storage_tests.rs +++ b/sensibledb-db/src/sensibledb_engine/tests/storage_tests.rs @@ -1,6 +1,6 @@ use crate::sensibledb_engine::{ storage_core::{ - NexusGraphStorage, StorageConfig, storage_methods::DBMethods, version_info::VersionInfo, + SensibleGraphStorage, StorageConfig, storage_methods::DBMethods, version_info::VersionInfo, }, traversal_core::config::Config, types::SecondaryIndex, @@ -8,13 +8,13 @@ use crate::sensibledb_engine::{ use tempfile::TempDir; // Helper function to create a test storage instance -fn setup_test_storage() -> (NexusGraphStorage, TempDir) { +fn setup_test_storage() -> (SensibleGraphStorage, TempDir) { let temp_dir = TempDir::new().unwrap(); let config = Config::default(); let version_info = VersionInfo::default(); let storage = - NexusGraphStorage::new(temp_dir.path().to_str().unwrap(), config, version_info).unwrap(); + SensibleGraphStorage::new(temp_dir.path().to_str().unwrap(), config, version_info).unwrap(); (storage, temp_dir) } @@ -26,14 +26,14 @@ fn setup_test_storage() -> (NexusGraphStorage, TempDir) { #[test] fn test_node_key() { let id = 12345u128; - let key = NexusGraphStorage::node_key(&id); + let key = SensibleGraphStorage::node_key(&id); assert_eq!(*key, id); } #[test] fn test_edge_key() { let id = 67890u128; - let key = NexusGraphStorage::edge_key(&id); + let key = SensibleGraphStorage::edge_key(&id); assert_eq!(*key, id); } @@ -42,7 +42,7 @@ fn test_out_edge_key() { let from_node_id = 100u128; let label = [1, 2, 3, 4]; - let key = NexusGraphStorage::out_edge_key(&from_node_id, &label); + let key = SensibleGraphStorage::out_edge_key(&from_node_id, &label); // Verify key structure assert_eq!(key.len(), 20); @@ -64,7 +64,7 @@ fn test_in_edge_key() { let to_node_id = 200u128; let label = [5, 6, 7, 8]; - let key = NexusGraphStorage::in_edge_key(&to_node_id, &label); + let key = SensibleGraphStorage::in_edge_key(&to_node_id, &label); // Verify key structure assert_eq!(key.len(), 20); @@ -86,8 +86,8 @@ fn test_out_edge_key_deterministic() { let from_node_id = 42u128; let label = [9, 8, 7, 6]; - let key1 = NexusGraphStorage::out_edge_key(&from_node_id, &label); - let key2 = NexusGraphStorage::out_edge_key(&from_node_id, &label); + let key1 = SensibleGraphStorage::out_edge_key(&from_node_id, &label); + let key2 = SensibleGraphStorage::out_edge_key(&from_node_id, &label); assert_eq!(key1, key2); } @@ -97,8 +97,8 @@ fn test_in_edge_key_deterministic() { let to_node_id = 84u128; let label = [1, 1, 1, 1]; - let key1 = NexusGraphStorage::in_edge_key(&to_node_id, &label); - let key2 = NexusGraphStorage::in_edge_key(&to_node_id, &label); + let key1 = SensibleGraphStorage::in_edge_key(&to_node_id, &label); + let key2 = SensibleGraphStorage::in_edge_key(&to_node_id, &label); assert_eq!(key1, key2); } @@ -108,7 +108,7 @@ fn test_pack_edge_data() { let edge_id = 123u128; let node_id = 456u128; - let packed = NexusGraphStorage::pack_edge_data(&edge_id, &node_id); + let packed = SensibleGraphStorage::pack_edge_data(&edge_id, &node_id); // Verify packed data structure assert_eq!(packed.len(), 32); @@ -133,9 +133,9 @@ fn test_unpack_adj_edge_data() { let edge_id = 789u128; let node_id = 1011u128; - let packed = NexusGraphStorage::pack_edge_data(&edge_id, &node_id); + let packed = SensibleGraphStorage::pack_edge_data(&edge_id, &node_id); let (unpacked_edge_id, unpacked_node_id) = - NexusGraphStorage::unpack_adj_edge_data(&packed).unwrap(); + SensibleGraphStorage::unpack_adj_edge_data(&packed).unwrap(); assert_eq!(unpacked_edge_id, edge_id); assert_eq!(unpacked_node_id, node_id); @@ -152,9 +152,9 @@ fn test_pack_unpack_edge_data_roundtrip() { ]; for (edge_id, node_id) in test_cases { - let packed = NexusGraphStorage::pack_edge_data(&edge_id, &node_id); + let packed = SensibleGraphStorage::pack_edge_data(&edge_id, &node_id); let (unpacked_edge, unpacked_node) = - NexusGraphStorage::unpack_adj_edge_data(&packed).unwrap(); + SensibleGraphStorage::unpack_adj_edge_data(&packed).unwrap(); assert_eq!( unpacked_edge, edge_id, @@ -175,7 +175,7 @@ fn test_unpack_adj_edge_data_invalid_length() { let invalid_data = vec![1u8, 2, 3, 4, 5]; // Too short // This will panic when trying to slice the data - let _ = NexusGraphStorage::unpack_adj_edge_data(&invalid_data); + let _ = SensibleGraphStorage::unpack_adj_edge_data(&invalid_data); } // ============================================================================ @@ -249,7 +249,7 @@ fn test_storage_creation() { let config = Config::default(); let version_info = VersionInfo::default(); - let result = NexusGraphStorage::new(temp_dir.path().to_str().unwrap(), config, version_info); + let result = SensibleGraphStorage::new(temp_dir.path().to_str().unwrap(), config, version_info); assert!(result.is_ok()); let _ = result.unwrap(); @@ -279,7 +279,7 @@ fn test_storage_with_large_db_size() { let version_info = VersionInfo::default(); - let result = NexusGraphStorage::new(temp_dir.path().to_str().unwrap(), config, version_info); + let result = SensibleGraphStorage::new(temp_dir.path().to_str().unwrap(), config, version_info); assert!(result.is_ok()); } @@ -291,14 +291,14 @@ fn test_storage_with_large_db_size() { #[test] fn test_edge_key_with_zero_id() { let id = 0u128; - let key = NexusGraphStorage::edge_key(&id); + let key = SensibleGraphStorage::edge_key(&id); assert_eq!(*key, 0); } #[test] fn test_edge_key_with_max_id() { let id = u128::MAX; - let key = NexusGraphStorage::edge_key(&id); + let key = SensibleGraphStorage::edge_key(&id); assert_eq!(*key, u128::MAX); } @@ -307,7 +307,7 @@ fn test_out_edge_key_with_zero_values() { let from_node_id = 0u128; let label = [0, 0, 0, 0]; - let key = NexusGraphStorage::out_edge_key(&from_node_id, &label); + let key = SensibleGraphStorage::out_edge_key(&from_node_id, &label); assert_eq!(key, [0u8; 20]); } @@ -316,7 +316,7 @@ fn test_out_edge_key_with_max_values() { let from_node_id = u128::MAX; let label = [255, 255, 255, 255]; - let key = NexusGraphStorage::out_edge_key(&from_node_id, &label); + let key = SensibleGraphStorage::out_edge_key(&from_node_id, &label); // All bytes should be 255 assert!(key.iter().all(|&b| b == 255)); @@ -327,7 +327,7 @@ fn test_pack_edge_data_with_zero_values() { let edge_id = 0u128; let node_id = 0u128; - let packed = NexusGraphStorage::pack_edge_data(&edge_id, &node_id); + let packed = SensibleGraphStorage::pack_edge_data(&edge_id, &node_id); assert_eq!(packed, [0u8; 32]); } @@ -336,7 +336,7 @@ fn test_pack_edge_data_with_max_values() { let edge_id = u128::MAX; let node_id = u128::MAX; - let packed = NexusGraphStorage::pack_edge_data(&edge_id, &node_id); + let packed = SensibleGraphStorage::pack_edge_data(&edge_id, &node_id); assert!(packed.iter().all(|&b| b == 255)); } @@ -350,8 +350,8 @@ fn test_out_edge_key_different_labels_produce_different_keys() { let label1 = [1, 2, 3, 4]; let label2 = [5, 6, 7, 8]; - let key1 = NexusGraphStorage::out_edge_key(&node_id, &label1); - let key2 = NexusGraphStorage::out_edge_key(&node_id, &label2); + let key1 = SensibleGraphStorage::out_edge_key(&node_id, &label1); + let key2 = SensibleGraphStorage::out_edge_key(&node_id, &label2); assert_ne!(key1, key2); } @@ -362,8 +362,8 @@ fn test_out_edge_key_different_nodes_produce_different_keys() { let node2 = 200u128; let label = [1, 2, 3, 4]; - let key1 = NexusGraphStorage::out_edge_key(&node1, &label); - let key2 = NexusGraphStorage::out_edge_key(&node2, &label); + let key1 = SensibleGraphStorage::out_edge_key(&node1, &label); + let key2 = SensibleGraphStorage::out_edge_key(&node2, &label); assert_ne!(key1, key2); } @@ -374,8 +374,8 @@ fn test_in_edge_key_different_labels_produce_different_keys() { let label1 = [1, 2, 3, 4]; let label2 = [5, 6, 7, 8]; - let key1 = NexusGraphStorage::in_edge_key(&node_id, &label1); - let key2 = NexusGraphStorage::in_edge_key(&node_id, &label2); + let key1 = SensibleGraphStorage::in_edge_key(&node_id, &label1); + let key2 = SensibleGraphStorage::in_edge_key(&node_id, &label2); assert_ne!(key1, key2); } @@ -386,8 +386,8 @@ fn test_out_and_in_edge_keys_same_for_same_node_and_label() { let node_id = 12345u128; let label = [9, 8, 7, 6]; - let out_key = NexusGraphStorage::out_edge_key(&node_id, &label); - let in_key = NexusGraphStorage::in_edge_key(&node_id, &label); + let out_key = SensibleGraphStorage::out_edge_key(&node_id, &label); + let in_key = SensibleGraphStorage::in_edge_key(&node_id, &label); // They should be equal since they use the same structure assert_eq!(out_key, in_key); @@ -399,8 +399,8 @@ fn test_pack_edge_data_different_edge_ids_produce_different_data() { let edge2 = 200u128; let node_id = 500u128; - let packed1 = NexusGraphStorage::pack_edge_data(&edge1, &node_id); - let packed2 = NexusGraphStorage::pack_edge_data(&edge2, &node_id); + let packed1 = SensibleGraphStorage::pack_edge_data(&edge1, &node_id); + let packed2 = SensibleGraphStorage::pack_edge_data(&edge2, &node_id); assert_ne!(packed1, packed2); } @@ -411,8 +411,8 @@ fn test_pack_edge_data_different_node_ids_produce_different_data() { let node1 = 500u128; let node2 = 600u128; - let packed1 = NexusGraphStorage::pack_edge_data(&edge_id, &node1); - let packed2 = NexusGraphStorage::pack_edge_data(&edge_id, &node2); + let packed1 = SensibleGraphStorage::pack_edge_data(&edge_id, &node1); + let packed2 = SensibleGraphStorage::pack_edge_data(&edge_id, &node2); assert_ne!(packed1, packed2); } @@ -423,7 +423,7 @@ fn test_unpack_adj_edge_data_short_slice_panics() { // 31 bytes - just one byte short // Note: Current implementation panics on short slices during slice indexing let short_data = vec![0u8; 31]; - let _ = NexusGraphStorage::unpack_adj_edge_data(&short_data); + let _ = SensibleGraphStorage::unpack_adj_edge_data(&short_data); } #[test] @@ -431,7 +431,7 @@ fn test_unpack_adj_edge_data_short_slice_panics() { fn test_unpack_adj_edge_data_empty_slice_panics() { // Note: Current implementation panics on empty slices during slice indexing let empty_data: Vec = vec![]; - let _ = NexusGraphStorage::unpack_adj_edge_data(&empty_data); + let _ = SensibleGraphStorage::unpack_adj_edge_data(&empty_data); } #[test] @@ -440,7 +440,7 @@ fn test_unpack_adj_edge_data_16_bytes_panics() { // Only edge_id portion, missing node_id // Note: Current implementation panics on partial slices during slice indexing let partial_data = vec![0u8; 16]; - let _ = NexusGraphStorage::unpack_adj_edge_data(&partial_data); + let _ = SensibleGraphStorage::unpack_adj_edge_data(&partial_data); } #[test] @@ -449,8 +449,8 @@ fn test_pack_unpack_preserves_byte_order() { let edge_id = 0x0102030405060708090A0B0C0D0E0F10u128; let node_id = 0x1112131415161718191A1B1C1D1E1F20u128; - let packed = NexusGraphStorage::pack_edge_data(&edge_id, &node_id); - let (unpacked_edge, unpacked_node) = NexusGraphStorage::unpack_adj_edge_data(&packed).unwrap(); + let packed = SensibleGraphStorage::pack_edge_data(&edge_id, &node_id); + let (unpacked_edge, unpacked_node) = SensibleGraphStorage::unpack_adj_edge_data(&packed).unwrap(); assert_eq!(unpacked_edge, edge_id); assert_eq!(unpacked_node, node_id); @@ -461,7 +461,7 @@ fn test_out_edge_key_preserves_node_id_byte_order() { let node_id = 0x0102030405060708090A0B0C0D0E0F10u128; let label = [0xAA, 0xBB, 0xCC, 0xDD]; - let key = NexusGraphStorage::out_edge_key(&node_id, &label); + let key = SensibleGraphStorage::out_edge_key(&node_id, &label); // Extract node_id from key and verify let extracted_node_id = u128::from_be_bytes(key[0..16].try_into().unwrap()); @@ -508,36 +508,36 @@ fn create_test_edge<'a>( } } -fn insert_node(storage: &NexusGraphStorage, node: &Node) { +fn insert_node(storage: &SensibleGraphStorage, node: &Node) { let mut txn = storage.graph_env.write_txn().unwrap(); let bytes = node.to_bincode_bytes().unwrap(); storage .nodes_db - .put(&mut txn, NexusGraphStorage::node_key(&node.id), &bytes) + .put(&mut txn, SensibleGraphStorage::node_key(&node.id), &bytes) .unwrap(); txn.commit().unwrap(); } -fn insert_edge(storage: &NexusGraphStorage, edge: &Edge) { +fn insert_edge(storage: &SensibleGraphStorage, edge: &Edge) { let mut txn = storage.graph_env.write_txn().unwrap(); let bytes = edge.to_bincode_bytes().unwrap(); storage .edges_db - .put(&mut txn, NexusGraphStorage::edge_key(&edge.id), &bytes) + .put(&mut txn, SensibleGraphStorage::edge_key(&edge.id), &bytes) .unwrap(); // Insert into out_edges_db let label_hash = hash_label(edge.label, None); - let out_key = NexusGraphStorage::out_edge_key(&edge.from_node, &label_hash); - let edge_data = NexusGraphStorage::pack_edge_data(&edge.id, &edge.to_node); + let out_key = SensibleGraphStorage::out_edge_key(&edge.from_node, &label_hash); + let edge_data = SensibleGraphStorage::pack_edge_data(&edge.id, &edge.to_node); storage .out_edges_db .put(&mut txn, &out_key, &edge_data) .unwrap(); // Insert into in_edges_db - let in_key = NexusGraphStorage::in_edge_key(&edge.to_node, &label_hash); - let in_edge_data = NexusGraphStorage::pack_edge_data(&edge.id, &edge.from_node); + let in_key = SensibleGraphStorage::in_edge_key(&edge.to_node, &label_hash); + let in_edge_data = SensibleGraphStorage::pack_edge_data(&edge.id, &edge.from_node); storage .in_edges_db .put(&mut txn, &in_key, &in_edge_data) @@ -815,7 +815,7 @@ fn test_drop_edge_verifies_out_edges_db_cleanup() { // Verify out_edges_db has the entry let txn = storage.graph_env.read_txn().unwrap(); let label_hash = hash_label("LINK", None); - let out_key = NexusGraphStorage::out_edge_key(&node1.id, &label_hash); + let out_key = SensibleGraphStorage::out_edge_key(&node1.id, &label_hash); let out_entry = storage.out_edges_db.get(&txn, &out_key).unwrap(); assert!(out_entry.is_some()); drop(txn); @@ -847,7 +847,7 @@ fn test_drop_edge_verifies_in_edges_db_cleanup() { // Verify in_edges_db has the entry let txn = storage.graph_env.read_txn().unwrap(); let label_hash = hash_label("LINK", None); - let in_key = NexusGraphStorage::in_edge_key(&node2.id, &label_hash); + let in_key = SensibleGraphStorage::in_edge_key(&node2.id, &label_hash); let in_entry = storage.in_edges_db.get(&txn, &in_key).unwrap(); assert!(in_entry.is_some()); drop(txn); diff --git a/sensibledb-db/src/sensibledb_engine/tests/traversal_tests/count_tests.rs b/sensibledb-db/src/sensibledb_engine/tests/traversal_tests/count_tests.rs index 116e60e5..fef79705 100644 --- a/sensibledb-db/src/sensibledb_engine/tests/traversal_tests/count_tests.rs +++ b/sensibledb-db/src/sensibledb_engine/tests/traversal_tests/count_tests.rs @@ -1,7 +1,7 @@ use std::{sync::Arc, time::Duration}; use crate::sensibledb_engine::{ - storage_core::NexusGraphStorage, + storage_core::SensibleGraphStorage, traversal_core::ops::{ g::G, out::out::OutAdapter, @@ -16,10 +16,10 @@ use crate::sensibledb_engine::{ use bumpalo::Bump; use rand::Rng; use tempfile::TempDir; -fn setup_test_db() -> (TempDir, Arc) { +fn setup_test_db() -> (TempDir, Arc) { let temp_dir = TempDir::new().unwrap(); let db_path = temp_dir.path().to_str().unwrap(); - let storage = NexusGraphStorage::new( + let storage = SensibleGraphStorage::new( db_path, crate::sensibledb_engine::traversal_core::config::Config::default(), Default::default(), diff --git a/sensibledb-db/src/sensibledb_engine/tests/traversal_tests/drop_tests.rs b/sensibledb-db/src/sensibledb_engine/tests/traversal_tests/drop_tests.rs index 885a4676..900c94b2 100644 --- a/sensibledb-db/src/sensibledb_engine/tests/traversal_tests/drop_tests.rs +++ b/sensibledb-db/src/sensibledb_engine/tests/traversal_tests/drop_tests.rs @@ -8,7 +8,7 @@ use tempfile::TempDir; use super::test_utils::props_option; use crate::{ sensibledb_engine::{ - storage_core::NexusGraphStorage, + storage_core::SensibleGraphStorage, traversal_core::{ ops::{ g::G, @@ -32,10 +32,10 @@ use crate::{ type Filter = fn(&HVector, &RoTxn) -> bool; -fn setup_test_db() -> (TempDir, Arc) { +fn setup_test_db() -> (TempDir, Arc) { let temp_dir = TempDir::new().unwrap(); let db_path = temp_dir.path().to_str().unwrap(); - let storage = NexusGraphStorage::new( + let storage = SensibleGraphStorage::new( db_path, crate::sensibledb_engine::traversal_core::config::Config::default(), Default::default(), diff --git a/sensibledb-db/src/sensibledb_engine/tests/traversal_tests/edge_traversal_tests.rs b/sensibledb-db/src/sensibledb_engine/tests/traversal_tests/edge_traversal_tests.rs index b3aacd48..4e36304f 100644 --- a/sensibledb-db/src/sensibledb_engine/tests/traversal_tests/edge_traversal_tests.rs +++ b/sensibledb-db/src/sensibledb_engine/tests/traversal_tests/edge_traversal_tests.rs @@ -5,7 +5,7 @@ use tempfile::TempDir; use crate::{ sensibledb_engine::{ - storage_core::NexusGraphStorage, + storage_core::SensibleGraphStorage, tests::traversal_tests::test_utils::props_option, traversal_core::{ ops::{ @@ -31,10 +31,10 @@ use heed3::RoTxn; type Filter = fn(&HVector, &RoTxn) -> bool; -fn setup_test_db() -> (TempDir, Arc) { +fn setup_test_db() -> (TempDir, Arc) { let temp_dir = TempDir::new().unwrap(); let db_path = temp_dir.path().to_str().unwrap(); - let storage = NexusGraphStorage::new( + let storage = SensibleGraphStorage::new( db_path, crate::sensibledb_engine::traversal_core::config::Config::default(), Default::default(), diff --git a/sensibledb-db/src/sensibledb_engine/tests/traversal_tests/filter_tests.rs b/sensibledb-db/src/sensibledb_engine/tests/traversal_tests/filter_tests.rs index dc7a0821..549de5fd 100644 --- a/sensibledb-db/src/sensibledb_engine/tests/traversal_tests/filter_tests.rs +++ b/sensibledb-db/src/sensibledb_engine/tests/traversal_tests/filter_tests.rs @@ -3,7 +3,7 @@ use std::sync::Arc; use crate::sensibledb_engine::traversal_core::ops::source::add_e::AddEAdapter; use crate::sensibledb_engine::{ - storage_core::NexusGraphStorage, + storage_core::SensibleGraphStorage, traversal_core::{ ops::{g::G, source::add_n::AddNAdapter, util::filter_ref::FilterRefAdapter}, traversal_value::TraversalValue, @@ -18,10 +18,10 @@ use crate::{ use bumpalo::Bump; use tempfile::TempDir; -fn setup_test_db() -> (TempDir, Arc) { +fn setup_test_db() -> (TempDir, Arc) { let temp_dir = TempDir::new().unwrap(); let db_path = temp_dir.path().to_str().unwrap(); - let storage = NexusGraphStorage::new( + let storage = SensibleGraphStorage::new( db_path, crate::sensibledb_engine::traversal_core::config::Config::default(), Default::default(), diff --git a/sensibledb-db/src/sensibledb_engine/tests/traversal_tests/intersect_tests.rs b/sensibledb-db/src/sensibledb_engine/tests/traversal_tests/intersect_tests.rs index 3b407a1c..59d9bb52 100644 --- a/sensibledb-db/src/sensibledb_engine/tests/traversal_tests/intersect_tests.rs +++ b/sensibledb-db/src/sensibledb_engine/tests/traversal_tests/intersect_tests.rs @@ -4,7 +4,7 @@ use std::sync::Arc; use crate::{ sensibledb_engine::{ - storage_core::NexusGraphStorage, + storage_core::SensibleGraphStorage, traversal_core::ops::{ g::G, in_::in_::InAdapter, @@ -20,10 +20,10 @@ use crate::{ use bumpalo::Bump; use tempfile::TempDir; -fn setup_test_db() -> (TempDir, Arc) { +fn setup_test_db() -> (TempDir, Arc) { let temp_dir = TempDir::new().unwrap(); let db_path = temp_dir.path().to_str().unwrap(); - let storage = NexusGraphStorage::new( + let storage = SensibleGraphStorage::new( db_path, crate::sensibledb_engine::traversal_core::config::Config::default(), Default::default(), diff --git a/sensibledb-db/src/sensibledb_engine/tests/traversal_tests/node_traversal_tests.rs b/sensibledb-db/src/sensibledb_engine/tests/traversal_tests/node_traversal_tests.rs index f2030dbb..10511c8e 100644 --- a/sensibledb-db/src/sensibledb_engine/tests/traversal_tests/node_traversal_tests.rs +++ b/sensibledb-db/src/sensibledb_engine/tests/traversal_tests/node_traversal_tests.rs @@ -3,7 +3,7 @@ use std::sync::Arc; use crate::{ sensibledb_engine::{ - storage_core::NexusGraphStorage, + storage_core::SensibleGraphStorage, traversal_core::{ ops::{ g::G, @@ -27,10 +27,10 @@ use crate::{ use bumpalo::Bump; use serde::{Deserialize, Serialize}; use tempfile::TempDir; -fn setup_test_db() -> (TempDir, Arc) { +fn setup_test_db() -> (TempDir, Arc) { let temp_dir = TempDir::new().unwrap(); let db_path = temp_dir.path().to_str().unwrap(); - let storage = NexusGraphStorage::new( + let storage = SensibleGraphStorage::new( db_path, crate::sensibledb_engine::traversal_core::config::Config::default(), Default::default(), diff --git a/sensibledb-db/src/sensibledb_engine/tests/traversal_tests/range_tests.rs b/sensibledb-db/src/sensibledb_engine/tests/traversal_tests/range_tests.rs index de1bc90c..af083207 100644 --- a/sensibledb-db/src/sensibledb_engine/tests/traversal_tests/range_tests.rs +++ b/sensibledb-db/src/sensibledb_engine/tests/traversal_tests/range_tests.rs @@ -3,7 +3,7 @@ use std::sync::Arc; use crate::{ sensibledb_engine::{ - storage_core::NexusGraphStorage, + storage_core::SensibleGraphStorage, traversal_core::ops::{ g::G, out::out::OutAdapter, @@ -16,10 +16,10 @@ use crate::{ use bumpalo::Bump; use tempfile::TempDir; -fn setup_test_db() -> (TempDir, Arc) { +fn setup_test_db() -> (TempDir, Arc) { let temp_dir = TempDir::new().unwrap(); let db_path = temp_dir.path().to_str().unwrap(); - let storage = NexusGraphStorage::new( + let storage = SensibleGraphStorage::new( db_path, crate::sensibledb_engine::traversal_core::config::Config::default(), Default::default(), diff --git a/sensibledb-db/src/sensibledb_engine/tests/traversal_tests/secondary_index_tests.rs b/sensibledb-db/src/sensibledb_engine/tests/traversal_tests/secondary_index_tests.rs index d6d85f47..5cd8ecdb 100644 --- a/sensibledb-db/src/sensibledb_engine/tests/traversal_tests/secondary_index_tests.rs +++ b/sensibledb-db/src/sensibledb_engine/tests/traversal_tests/secondary_index_tests.rs @@ -6,7 +6,7 @@ use tempfile::TempDir; use super::test_utils::props_option; use crate::{ sensibledb_engine::{ - storage_core::NexusGraphStorage, + storage_core::SensibleGraphStorage, traversal_core::{ ops::{ g::G, @@ -23,23 +23,23 @@ use crate::{ protocol::value::Value, }; -fn setup_indexed_db() -> (TempDir, Arc) { +fn setup_indexed_db() -> (TempDir, Arc) { let temp_dir = TempDir::new().unwrap(); let db_path = temp_dir.path().to_str().unwrap(); let mut config = crate::sensibledb_engine::traversal_core::config::Config::default(); config.graph_config.as_mut().unwrap().secondary_indices = Some(vec![SecondaryIndex::Index("name".to_string())]); - let storage = NexusGraphStorage::new(db_path, config, Default::default()).unwrap(); + let storage = SensibleGraphStorage::new(db_path, config, Default::default()).unwrap(); (temp_dir, Arc::new(storage)) } -fn setup_unique_indexed_db() -> (TempDir, Arc) { +fn setup_unique_indexed_db() -> (TempDir, Arc) { let temp_dir = TempDir::new().unwrap(); let db_path = temp_dir.path().to_str().unwrap(); let mut config = crate::sensibledb_engine::traversal_core::config::Config::default(); config.graph_config.as_mut().unwrap().secondary_indices = Some(vec![SecondaryIndex::Unique("name".to_string())]); - let storage = NexusGraphStorage::new(db_path, config, Default::default()).unwrap(); + let storage = SensibleGraphStorage::new(db_path, config, Default::default()).unwrap(); (temp_dir, Arc::new(storage)) } diff --git a/sensibledb-db/src/sensibledb_engine/tests/traversal_tests/shortest_path_tests.rs b/sensibledb-db/src/sensibledb_engine/tests/traversal_tests/shortest_path_tests.rs index 71f8597b..35fe244f 100644 --- a/sensibledb-db/src/sensibledb_engine/tests/traversal_tests/shortest_path_tests.rs +++ b/sensibledb-db/src/sensibledb_engine/tests/traversal_tests/shortest_path_tests.rs @@ -6,7 +6,7 @@ use tempfile::TempDir; use super::test_utils::props_option; use crate::{ sensibledb_engine::{ - storage_core::NexusGraphStorage, + storage_core::SensibleGraphStorage, traversal_core::{ ops::{ g::G, @@ -19,10 +19,10 @@ use crate::{ props, }; -fn setup_test_db() -> (TempDir, Arc) { +fn setup_test_db() -> (TempDir, Arc) { let temp_dir = TempDir::new().unwrap(); let db_path = temp_dir.path().to_str().unwrap(); - let storage = NexusGraphStorage::new( + let storage = SensibleGraphStorage::new( db_path, crate::sensibledb_engine::traversal_core::config::Config::default(), Default::default(), diff --git a/sensibledb-db/src/sensibledb_engine/tests/traversal_tests/update_tests.rs b/sensibledb-db/src/sensibledb_engine/tests/traversal_tests/update_tests.rs index d10fb3eb..195a4fa5 100644 --- a/sensibledb-db/src/sensibledb_engine/tests/traversal_tests/update_tests.rs +++ b/sensibledb-db/src/sensibledb_engine/tests/traversal_tests/update_tests.rs @@ -6,7 +6,7 @@ use tempfile::TempDir; use super::test_utils::props_option; use crate::{ sensibledb_engine::{ - storage_core::NexusGraphStorage, + storage_core::SensibleGraphStorage, traversal_core::{ ops::{ bm25::search_bm25::SearchBM25Adapter, @@ -21,10 +21,10 @@ use crate::{ protocol::value::Value, }; -fn setup_test_db() -> (TempDir, Arc) { +fn setup_test_db() -> (TempDir, Arc) { let temp_dir = TempDir::new().unwrap(); let db_path = temp_dir.path().to_str().unwrap(); - let storage = NexusGraphStorage::new( + let storage = SensibleGraphStorage::new( db_path, crate::sensibledb_engine::traversal_core::config::Config::default(), Default::default(), diff --git a/sensibledb-db/src/sensibledb_engine/tests/traversal_tests/upsert_tests.rs b/sensibledb-db/src/sensibledb_engine/tests/traversal_tests/upsert_tests.rs index 100aa022..662a40e6 100644 --- a/sensibledb-db/src/sensibledb_engine/tests/traversal_tests/upsert_tests.rs +++ b/sensibledb-db/src/sensibledb_engine/tests/traversal_tests/upsert_tests.rs @@ -8,7 +8,7 @@ use super::test_utils::props_option; use crate::{ sensibledb_engine::{ bm25::bm25::BM25, - storage_core::NexusGraphStorage, + storage_core::SensibleGraphStorage, traversal_core::{ ops::{ bm25::search_bm25::SearchBM25Adapter, @@ -34,10 +34,10 @@ use crate::{ type Filter = fn(&HVector, &RoTxn) -> bool; -fn setup_test_db() -> (TempDir, Arc) { +fn setup_test_db() -> (TempDir, Arc) { let temp_dir = TempDir::new().unwrap(); let db_path = temp_dir.path().to_str().unwrap(); - let storage = NexusGraphStorage::new( + let storage = SensibleGraphStorage::new( db_path, crate::sensibledb_engine::traversal_core::config::Config::default(), Default::default(), diff --git a/sensibledb-db/src/sensibledb_engine/tests/traversal_tests/util_tests.rs b/sensibledb-db/src/sensibledb_engine/tests/traversal_tests/util_tests.rs index 87528ad5..715a8a9e 100644 --- a/sensibledb-db/src/sensibledb_engine/tests/traversal_tests/util_tests.rs +++ b/sensibledb-db/src/sensibledb_engine/tests/traversal_tests/util_tests.rs @@ -3,7 +3,7 @@ use std::sync::Arc; use crate::{ sensibledb_engine::{ - storage_core::NexusGraphStorage, + storage_core::SensibleGraphStorage, traversal_core::ops::{ g::G, out::{out::OutAdapter, out_e::OutEdgesAdapter}, @@ -20,10 +20,10 @@ use crate::{ use bumpalo::Bump; use heed3::RoTxn; use tempfile::TempDir; -fn setup_test_db() -> (TempDir, Arc) { +fn setup_test_db() -> (TempDir, Arc) { let temp_dir = TempDir::new().unwrap(); let db_path = temp_dir.path().to_str().unwrap(); - let storage = NexusGraphStorage::new( + let storage = SensibleGraphStorage::new( db_path, crate::sensibledb_engine::traversal_core::config::Config::default(), Default::default(), diff --git a/sensibledb-db/src/sensibledb_engine/tests/traversal_tests/vector_traversal_tests.rs b/sensibledb-db/src/sensibledb_engine/tests/traversal_tests/vector_traversal_tests.rs index 43db753e..7f9bc8c6 100644 --- a/sensibledb-db/src/sensibledb_engine/tests/traversal_tests/vector_traversal_tests.rs +++ b/sensibledb-db/src/sensibledb_engine/tests/traversal_tests/vector_traversal_tests.rs @@ -6,7 +6,7 @@ use tempfile::TempDir; use crate::{ sensibledb_engine::{ - storage_core::NexusGraphStorage, + storage_core::SensibleGraphStorage, traversal_core::ops::{ g::G, in_::to_v::ToVAdapter, @@ -30,10 +30,10 @@ use crate::{ type Filter = fn(&HVector, &RoTxn) -> bool; -fn setup_test_db() -> (TempDir, Arc) { +fn setup_test_db() -> (TempDir, Arc) { let temp_dir = TempDir::new().unwrap(); let db_path = temp_dir.path().to_str().unwrap(); - let storage = NexusGraphStorage::new( + let storage = SensibleGraphStorage::new( db_path, crate::sensibledb_engine::traversal_core::config::Config::default(), Default::default(), @@ -673,7 +673,7 @@ fn test_v_from_type_after_migration() { // Helper to clear metadata (simulates PreMetadata state) fn clear_metadata( - storage: &mut crate::sensibledb_engine::storage_core::NexusGraphStorage, + storage: &mut crate::sensibledb_engine::storage_core::SensibleGraphStorage, ) -> Result<(), crate::sensibledb_engine::types::GraphError> { let mut txn = storage.graph_env.write_txn()?; storage.metadata_db.clear(&mut txn)?; diff --git a/sensibledb-db/src/sensibledb_engine/traversal_core/mod.rs b/sensibledb-db/src/sensibledb_engine/traversal_core/mod.rs index abfab18e..bcf95168 100644 --- a/sensibledb-db/src/sensibledb_engine/traversal_core/mod.rs +++ b/sensibledb-db/src/sensibledb_engine/traversal_core/mod.rs @@ -3,7 +3,7 @@ pub mod ops; pub mod traversal_iter; pub mod traversal_value; -use crate::sensibledb_engine::storage_core::{NexusGraphStorage, version_info::VersionInfo}; +use crate::sensibledb_engine::storage_core::{SensibleGraphStorage, version_info::VersionInfo}; use crate::sensibledb_engine::traversal_core::config::Config; use crate::sensibledb_engine::types::GraphError; use crate::sensibledb_gateway::mcp::mcp::{McpBackend, McpConnections}; @@ -19,24 +19,24 @@ pub enum QueryInput { BooleanValue { value: bool }, } -pub struct NexusGraphEngine { - pub storage: Arc, +pub struct SensibleGraphEngine { + pub storage: Arc, pub mcp_backend: Option>, pub mcp_connections: Option>>, } #[derive(Default, Clone)] -pub struct NexusGraphEngineOpts { +pub struct SensibleGraphEngineOpts { pub path: String, pub config: Config, pub version_info: VersionInfo, } -impl NexusGraphEngine { - pub fn new(opts: NexusGraphEngineOpts) -> Result { +impl SensibleGraphEngine { + pub fn new(opts: SensibleGraphEngineOpts) -> Result { let should_use_mcp = opts.config.mcp; let storage = - match NexusGraphStorage::new(opts.path.as_str(), opts.config, opts.version_info) { + match SensibleGraphStorage::new(opts.path.as_str(), opts.config, opts.version_info) { Ok(db) => Arc::new(db), Err(err) => return Err(err), }; diff --git a/sensibledb-db/src/sensibledb_engine/traversal_core/ops/bm25/hybrid_search_bm25.rs b/sensibledb-db/src/sensibledb_engine/traversal_core/ops/bm25/hybrid_search_bm25.rs index 8b40b848..cc74bbc6 100644 --- a/sensibledb-db/src/sensibledb_engine/traversal_core/ops/bm25/hybrid_search_bm25.rs +++ b/sensibledb-db/src/sensibledb_engine/traversal_core/ops/bm25/hybrid_search_bm25.rs @@ -5,7 +5,7 @@ use super::super::tr_val::TraversalValue; use crate::sensibledb_engine::{ bm25::bm25::{BM25, HybridSearch}, graph_core::traversal_iter::RoTraversalIterator, - storage_core::{NexusGraphStorage, storage_methods::StorageMethods}, + storage_core::{SensibleGraphStorage, storage_methods::StorageMethods}, types::GraphError, }; use std::sync::Arc; @@ -13,7 +13,7 @@ use std::sync::Arc; pub struct HybridSearchBM25<'scope, 'inner> { txn: &'scope RoTxn<'scope>, iter: std::vec::IntoIter<(u128, f32)>, - storage: Arc, + storage: Arc, label: &'inner str, } diff --git a/sensibledb-db/src/sensibledb_engine/traversal_core/ops/g.rs b/sensibledb-db/src/sensibledb_engine/traversal_core/ops/g.rs index 82fa183a..453ef205 100644 --- a/sensibledb-db/src/sensibledb_engine/traversal_core/ops/g.rs +++ b/sensibledb-db/src/sensibledb_engine/traversal_core/ops/g.rs @@ -1,5 +1,5 @@ use crate::sensibledb_engine::{ - storage_core::NexusGraphStorage, + storage_core::SensibleGraphStorage, traversal_core::{ traversal_iter::{RoTraversalIterator, RwTraversalIterator}, traversal_value::TraversalValue, @@ -21,16 +21,16 @@ impl G { /// # Example /// /// ```rust,ignore - /// use sensibledb_db::{NexusGraphStorage, G}; + /// use sensibledb_db::{SensibleGraphStorage, G}; /// use bumpalo::Bump; - /// let storage = NexusGraphStorage::new(); + /// let storage = SensibleGraphStorage::new(); /// let arena = Bump::new(); /// let txn = storage.graph_env.read_txn().unwrap(); /// let traversal = G::new(&storage, &txn, &arena); /// ``` #[inline] pub fn new<'db: 'arena, 'arena: 'txn, 'txn>( - storage: &'db NexusGraphStorage, + storage: &'db SensibleGraphStorage, txn: &'txn RoTxn<'db>, arena: &'arena bumpalo::Bump, ) -> RoTraversalIterator< @@ -61,15 +61,15 @@ impl G { /// # Example /// /// ```rust,ignore - /// use sensibledb_db::{NexusGraphStorage, G, TraversalValue}; + /// use sensibledb_db::{SensibleGraphStorage, G, TraversalValue}; /// use bumpalo::Bump; - /// let storage = NexusGraphStorage::new(); + /// let storage = SensibleGraphStorage::new(); /// let arena = Bump::new(); /// let txn = storage.graph_env.read_txn().unwrap(); /// let traversal = G::from_iter(&storage, &txn, vec![TraversalValue::Empty], &arena); /// ``` pub fn from_iter<'db: 'arena, 'arena: 'txn, 'txn>( - storage: &'db NexusGraphStorage, + storage: &'db SensibleGraphStorage, txn: &'txn RoTxn<'db>, items: impl Iterator>, arena: &'arena bumpalo::Bump, @@ -98,15 +98,15 @@ impl G { /// # Example /// /// ```rust,ignore - /// use sensibledb_db::{NexusGraphStorage, G}; + /// use sensibledb_db::{SensibleGraphStorage, G}; /// use bumpalo::Bump; - /// let storage = NexusGraphStorage::new(); + /// let storage = SensibleGraphStorage::new(); /// let arena = Bump::new(); /// let txn = storage.graph_env.write_txn().unwrap(); /// let traversal = G::new_mut(&storage, &arena, &mut txn); /// ``` pub fn new_mut<'db: 'arena, 'arena: 'txn, 'txn>( - storage: &'db NexusGraphStorage, + storage: &'db SensibleGraphStorage, arena: &'arena bumpalo::Bump, txn: &'txn mut RwTxn<'db>, ) -> RwTraversalIterator< @@ -127,7 +127,7 @@ impl G { } pub fn new_mut_from_iter<'db: 'arena, 'arena: 'txn, 'txn>( - storage: &'db NexusGraphStorage, + storage: &'db SensibleGraphStorage, txn: &'txn mut RwTxn<'db>, items: impl Iterator>, arena: &'arena bumpalo::Bump, @@ -147,7 +147,7 @@ impl G { /// Create a mutable traversal from a single TraversalValue pub fn new_mut_from<'db: 'arena, 'arena: 'txn, 'txn>( - storage: &'db NexusGraphStorage, + storage: &'db SensibleGraphStorage, txn: &'txn mut RwTxn<'db>, item: TraversalValue<'arena>, arena: &'arena bumpalo::Bump, diff --git a/sensibledb-db/src/sensibledb_engine/traversal_core/ops/in_/in_.rs b/sensibledb-db/src/sensibledb_engine/traversal_core/ops/in_/in_.rs index 6c89ebc1..cd201563 100644 --- a/sensibledb-db/src/sensibledb_engine/traversal_core/ops/in_/in_.rs +++ b/sensibledb-db/src/sensibledb_engine/traversal_core/ops/in_/in_.rs @@ -1,6 +1,6 @@ use crate::{ sensibledb_engine::{ - storage_core::{NexusGraphStorage, storage_methods::StorageMethods}, + storage_core::{SensibleGraphStorage, storage_methods::StorageMethods}, traversal_core::{traversal_iter::RoTraversalIterator, traversal_value::TraversalValue}, types::GraphError, }, @@ -56,7 +56,7 @@ impl<'db, 'arena, 'txn, 's, I: Iterator, Gr .inner .filter_map(move |item| { let edge_label_hash = hash_label(edge_label, None); - let prefix = NexusGraphStorage::in_edge_key( + let prefix = SensibleGraphStorage::in_edge_key( &match item { Ok(item) => item.id(), Err(_) => return None, @@ -67,7 +67,7 @@ impl<'db, 'arena, 'txn, 's, I: Iterator, Gr match self.storage.in_edges_db.get_duplicates(self.txn, &prefix) { Ok(Some(iter)) => Some(iter.filter_map(move |item| { if let Ok((_, value)) = item { - let (_, item_id) = match NexusGraphStorage::unpack_adj_edge_data(value) + let (_, item_id) = match SensibleGraphStorage::unpack_adj_edge_data(value) { Ok(data) => data, Err(e) => { @@ -127,7 +127,7 @@ impl<'db, 'arena, 'txn, 's, I: Iterator, Gr .inner .filter_map(move |item| { let edge_label_hash = hash_label(edge_label, None); - let prefix = NexusGraphStorage::in_edge_key( + let prefix = SensibleGraphStorage::in_edge_key( &match item { Ok(item) => item.id(), Err(_) => return None, @@ -137,7 +137,7 @@ impl<'db, 'arena, 'txn, 's, I: Iterator, Gr match self.storage.in_edges_db.get_duplicates(self.txn, &prefix) { Ok(Some(iter)) => Some(iter.filter_map(move |item| { if let Ok((_, data)) = item { - let (_, item_id) = match NexusGraphStorage::unpack_adj_edge_data(data) { + let (_, item_id) = match SensibleGraphStorage::unpack_adj_edge_data(data) { Ok(data) => data, Err(e) => { println!("Error unpacking edge data: {e:?}"); diff --git a/sensibledb-db/src/sensibledb_engine/traversal_core/ops/in_/in_e.rs b/sensibledb-db/src/sensibledb_engine/traversal_core/ops/in_/in_e.rs index a23e2403..48882a54 100644 --- a/sensibledb-db/src/sensibledb_engine/traversal_core/ops/in_/in_e.rs +++ b/sensibledb-db/src/sensibledb_engine/traversal_core/ops/in_/in_e.rs @@ -1,6 +1,6 @@ use crate::{ sensibledb_engine::{ - storage_core::{NexusGraphStorage, storage_methods::StorageMethods}, + storage_core::{SensibleGraphStorage, storage_methods::StorageMethods}, traversal_core::{traversal_iter::RoTraversalIterator, traversal_value::TraversalValue}, types::GraphError, }, @@ -45,7 +45,7 @@ impl<'db, 'arena, 'txn, 's, I: Iterator, Gr .filter_map(move |item| { let edge_label_hash = hash_label(edge_label, None); - let prefix = NexusGraphStorage::in_edge_key( + let prefix = SensibleGraphStorage::in_edge_key( &match item { Ok(item) => item.id(), Err(_) => return None, @@ -63,7 +63,7 @@ impl<'db, 'arena, 'txn, 's, I: Iterator, Gr Ok((_, data)) => match data.decode() { Ok(data) => { let (edge_id, _) = - match NexusGraphStorage::unpack_adj_edge_data(data) { + match SensibleGraphStorage::unpack_adj_edge_data(data) { Ok(data) => data, Err(e) => return Err(e), }; diff --git a/sensibledb-db/src/sensibledb_engine/traversal_core/ops/out/out.rs b/sensibledb-db/src/sensibledb_engine/traversal_core/ops/out/out.rs index cc69b25a..60b61659 100644 --- a/sensibledb-db/src/sensibledb_engine/traversal_core/ops/out/out.rs +++ b/sensibledb-db/src/sensibledb_engine/traversal_core/ops/out/out.rs @@ -1,6 +1,6 @@ use crate::{ sensibledb_engine::{ - storage_core::{NexusGraphStorage, storage_methods::StorageMethods}, + storage_core::{SensibleGraphStorage, storage_methods::StorageMethods}, traversal_core::{traversal_iter::RoTraversalIterator, traversal_value::TraversalValue}, types::GraphError, }, @@ -56,7 +56,7 @@ impl<'db, 'arena, 'txn, 's, I: Iterator, Gr .inner .filter_map(move |item| { let edge_label_hash = hash_label(edge_label, None); - let prefix = NexusGraphStorage::out_edge_key( + let prefix = SensibleGraphStorage::out_edge_key( &match item { Ok(item) => item.id(), Err(_) => return None, @@ -67,7 +67,7 @@ impl<'db, 'arena, 'txn, 's, I: Iterator, Gr match self.storage.out_edges_db.get_duplicates(self.txn, &prefix) { Ok(Some(iter)) => Some(iter.filter_map(move |item| { if let Ok((_, value)) = item { - let (_, item_id) = match NexusGraphStorage::unpack_adj_edge_data(value) + let (_, item_id) = match SensibleGraphStorage::unpack_adj_edge_data(value) { Ok(data) => data, Err(e) => { @@ -127,7 +127,7 @@ impl<'db, 'arena, 'txn, 's, I: Iterator, Gr .inner .filter_map(move |item| { let edge_label_hash = hash_label(edge_label, None); - let prefix = NexusGraphStorage::out_edge_key( + let prefix = SensibleGraphStorage::out_edge_key( &match item { Ok(item) => item.id(), Err(_) => return None, @@ -137,7 +137,7 @@ impl<'db, 'arena, 'txn, 's, I: Iterator, Gr match self.storage.out_edges_db.get_duplicates(self.txn, &prefix) { Ok(Some(iter)) => Some(iter.filter_map(move |item| { if let Ok((_, data)) = item { - let (_, item_id) = match NexusGraphStorage::unpack_adj_edge_data(data) { + let (_, item_id) = match SensibleGraphStorage::unpack_adj_edge_data(data) { Ok(data) => data, Err(e) => { println!("Error unpacking edge data: {e:?}"); diff --git a/sensibledb-db/src/sensibledb_engine/traversal_core/ops/out/out_e.rs b/sensibledb-db/src/sensibledb_engine/traversal_core/ops/out/out_e.rs index feb908be..ea112a2a 100644 --- a/sensibledb-db/src/sensibledb_engine/traversal_core/ops/out/out_e.rs +++ b/sensibledb-db/src/sensibledb_engine/traversal_core/ops/out/out_e.rs @@ -1,6 +1,6 @@ use crate::{ sensibledb_engine::{ - storage_core::{NexusGraphStorage, storage_methods::StorageMethods}, + storage_core::{SensibleGraphStorage, storage_methods::StorageMethods}, traversal_core::{traversal_iter::RoTraversalIterator, traversal_value::TraversalValue}, types::GraphError, }, @@ -46,7 +46,7 @@ impl<'db, 'arena, 'txn, 's, I: Iterator, Gr .filter_map(move |item| { let edge_label_hash = hash_label(edge_label, None); - let prefix = NexusGraphStorage::out_edge_key( + let prefix = SensibleGraphStorage::out_edge_key( &match item { Ok(item) => item.id(), Err(_) => return None, @@ -64,7 +64,7 @@ impl<'db, 'arena, 'txn, 's, I: Iterator, Gr Ok((_, data)) => match data.decode() { Ok(data) => { let (edge_id, _) = - match NexusGraphStorage::unpack_adj_edge_data(data) { + match SensibleGraphStorage::unpack_adj_edge_data(data) { Ok(data) => data, Err(e) => return Err(e), }; diff --git a/sensibledb-db/src/sensibledb_engine/traversal_core/ops/source/add_e.rs b/sensibledb-db/src/sensibledb_engine/traversal_core/ops/source/add_e.rs index ccff61f4..64256ae9 100644 --- a/sensibledb-db/src/sensibledb_engine/traversal_core/ops/source/add_e.rs +++ b/sensibledb-db/src/sensibledb_engine/traversal_core/ops/source/add_e.rs @@ -1,6 +1,6 @@ use crate::{ sensibledb_engine::{ - storage_core::NexusGraphStorage, + storage_core::SensibleGraphStorage, traversal_core::{traversal_iter::RwTraversalIterator, traversal_value::TraversalValue}, types::GraphError, }, @@ -13,7 +13,7 @@ where 'db: 'arena, 'arena: 'txn, { - pub storage: &'db NexusGraphStorage, + pub storage: &'db SensibleGraphStorage, pub arena: &'arena bumpalo::Bump, pub txn: &'txn RwTxn<'db>, inner: std::iter::Once, GraphError>>, @@ -67,7 +67,7 @@ impl<'db, 'arena, 'txn, 's, I: Iterator, Gr > { let result = (|| -> Result, GraphError> { let label_hash = hash_label(label, None); - let out_key = NexusGraphStorage::out_edge_key(&from_node, &label_hash); + let out_key = SensibleGraphStorage::out_edge_key(&from_node, &label_hash); if is_unique && let Some(iter) = self @@ -79,7 +79,7 @@ impl<'db, 'arena, 'txn, 's, I: Iterator, Gr for item in iter { let (_, data) = item?; let data = data.decode().map_err(|e| GraphError::DecodeError(e.to_string()))?; - let (_, existing_to_node) = NexusGraphStorage::unpack_adj_edge_data(data)?; + let (_, existing_to_node) = SensibleGraphStorage::unpack_adj_edge_data(data)?; if existing_to_node == to_node { return Err(GraphError::DuplicateKey(format!( "{label}:{from_node}->{to_node}" @@ -102,20 +102,20 @@ impl<'db, 'arena, 'txn, 's, I: Iterator, Gr self.storage.edges_db.put_with_flags( self.txn, PutFlags::APPEND, - NexusGraphStorage::edge_key(&edge.id), + SensibleGraphStorage::edge_key(&edge.id), &bytes, )?; self.storage.out_edges_db.put_with_flags( self.txn, PutFlags::APPEND_DUP, &out_key, - &NexusGraphStorage::pack_edge_data(&edge.id, &to_node), + &SensibleGraphStorage::pack_edge_data(&edge.id, &to_node), )?; self.storage.in_edges_db.put_with_flags( self.txn, PutFlags::APPEND_DUP, - &NexusGraphStorage::in_edge_key(&to_node, &label_hash), - &NexusGraphStorage::pack_edge_data(&edge.id, &from_node), + &SensibleGraphStorage::in_edge_key(&to_node, &label_hash), + &SensibleGraphStorage::pack_edge_data(&edge.id, &from_node), )?; Ok(TraversalValue::Edge(edge)) diff --git a/sensibledb-db/src/sensibledb_engine/traversal_core/ops/source/add_n.rs b/sensibledb-db/src/sensibledb_engine/traversal_core/ops/source/add_n.rs index 2281fefe..3bc2f930 100644 --- a/sensibledb-db/src/sensibledb_engine/traversal_core/ops/source/add_n.rs +++ b/sensibledb-db/src/sensibledb_engine/traversal_core/ops/source/add_n.rs @@ -1,7 +1,7 @@ use crate::{ sensibledb_engine::{ bm25::bm25::HBM25Config, - storage_core::NexusGraphStorage, + storage_core::SensibleGraphStorage, traversal_core::{traversal_iter::RwTraversalIterator, traversal_value::TraversalValue}, types::GraphError, }, @@ -24,7 +24,7 @@ where 'db: 'arena, 'arena: 'txn, { - pub storage: &'db NexusGraphStorage, + pub storage: &'db SensibleGraphStorage, pub arena: &'arena bumpalo::Bump, pub txn: &'txn RwTxn<'db>, inner: std::iter::Once, GraphError>>, diff --git a/sensibledb-db/src/sensibledb_engine/traversal_core/ops/source/e_from_id.rs b/sensibledb-db/src/sensibledb_engine/traversal_core/ops/source/e_from_id.rs index bbb8e9c0..a8805904 100644 --- a/sensibledb-db/src/sensibledb_engine/traversal_core/ops/source/e_from_id.rs +++ b/sensibledb-db/src/sensibledb_engine/traversal_core/ops/source/e_from_id.rs @@ -1,6 +1,6 @@ use crate::{ sensibledb_engine::{ - storage_core::{NexusGraphStorage, storage_methods::StorageMethods}, + storage_core::{SensibleGraphStorage, storage_methods::StorageMethods}, traversal_core::{traversal_iter::RoTraversalIterator, traversal_value::TraversalValue}, types::GraphError, }, @@ -14,7 +14,7 @@ where 'db: 'arena, 'arena: 'txn, { - pub storage: &'db NexusGraphStorage, + pub storage: &'db SensibleGraphStorage, pub arena: &'arena bumpalo::Bump, pub txn: &'txn RoTxn<'db>, pub iter: Once, GraphError>>, diff --git a/sensibledb-db/src/sensibledb_engine/traversal_core/ops/util/drop.rs b/sensibledb-db/src/sensibledb_engine/traversal_core/ops/util/drop.rs index 197bf09b..9b5d9250 100644 --- a/sensibledb-db/src/sensibledb_engine/traversal_core/ops/util/drop.rs +++ b/sensibledb-db/src/sensibledb_engine/traversal_core/ops/util/drop.rs @@ -1,6 +1,6 @@ use crate::sensibledb_engine::{ bm25::bm25::BM25, - storage_core::{NexusGraphStorage, storage_methods::StorageMethods}, + storage_core::{SensibleGraphStorage, storage_methods::StorageMethods}, traversal_core::traversal_value::TraversalValue, types::GraphError, }; @@ -16,7 +16,7 @@ where { pub fn drop_traversal( iter: I, - storage: &'db NexusGraphStorage, + storage: &'db SensibleGraphStorage, txn: &'txn mut RwTxn<'db>, ) -> Result<(), GraphError> { iter.into_iter().filter_map(|item| item.ok()).try_for_each( diff --git a/sensibledb-db/src/sensibledb_engine/traversal_core/ops/util/intersect.rs b/sensibledb-db/src/sensibledb_engine/traversal_core/ops/util/intersect.rs index 391a43f6..7071a71a 100644 --- a/sensibledb-db/src/sensibledb_engine/traversal_core/ops/util/intersect.rs +++ b/sensibledb-db/src/sensibledb_engine/traversal_core/ops/util/intersect.rs @@ -1,7 +1,7 @@ use std::collections::HashSet; use crate::sensibledb_engine::{ - storage_core::NexusGraphStorage, + storage_core::SensibleGraphStorage, traversal_core::{traversal_iter::RoTraversalIterator, traversal_value::TraversalValue}, types::GraphError, }; @@ -24,7 +24,7 @@ pub trait IntersectAdapter<'db, 'arena, 'txn>: Iterator { where F: Fn( TraversalValue<'arena>, - &'db NexusGraphStorage, + &'db SensibleGraphStorage, &'txn RoTxn<'db>, &'arena bumpalo::Bump, ) -> Result>, GraphError>; @@ -45,7 +45,7 @@ impl<'db, 'arena, 'txn, I: Iterator, GraphE where F: Fn( TraversalValue<'arena>, - &'db NexusGraphStorage, + &'db SensibleGraphStorage, &'txn RoTxn<'db>, &'arena bumpalo::Bump, ) -> Result>, GraphError>, diff --git a/sensibledb-db/src/sensibledb_engine/traversal_core/ops/util/paths.rs b/sensibledb-db/src/sensibledb_engine/traversal_core/ops/util/paths.rs index c7c51cb9..bd363c23 100644 --- a/sensibledb-db/src/sensibledb_engine/traversal_core/ops/util/paths.rs +++ b/sensibledb-db/src/sensibledb_engine/traversal_core/ops/util/paths.rs @@ -1,6 +1,6 @@ use crate::{ sensibledb_engine::{ - storage_core::{NexusGraphStorage, storage_methods::StorageMethods}, + storage_core::{SensibleGraphStorage, storage_methods::StorageMethods}, traversal_core::{traversal_iter::RoTraversalIterator, traversal_value::TraversalValue}, types::GraphError, }, @@ -105,7 +105,7 @@ pub struct ShortestPathIterator< pub iter: I, path_type: PathType, edge_label: Option<&'arena str>, - storage: &'db NexusGraphStorage, + storage: &'db SensibleGraphStorage, txn: &'txn RoTxn<'db>, algorithm: PathAlgorithm, weight_fn: F, @@ -259,7 +259,7 @@ where let out_prefix = self.edge_label.map_or_else( || current_id.to_be_bytes().to_vec(), |label| { - NexusGraphStorage::out_edge_key(¤t_id, &hash_label(label, None)).to_vec() + SensibleGraphStorage::out_edge_key(¤t_id, &hash_label(label, None)).to_vec() }, ); @@ -274,7 +274,7 @@ where Ok((_, value)) => value, Err(e) => return Some(Err(GraphError::from(e))), }; - let (edge_id, to_node) = match NexusGraphStorage::unpack_adj_edge_data(value) { + let (edge_id, to_node) = match SensibleGraphStorage::unpack_adj_edge_data(value) { Ok((edge_id, to_node)) => (edge_id, to_node), Err(e) => return Some(Err(e)), }; @@ -329,7 +329,7 @@ where let out_prefix = self.edge_label.map_or_else( || current_id.to_be_bytes().to_vec(), |label| { - NexusGraphStorage::out_edge_key(¤t_id, &hash_label(label, None)).to_vec() + SensibleGraphStorage::out_edge_key(¤t_id, &hash_label(label, None)).to_vec() }, ); @@ -341,7 +341,7 @@ where for result in iter { let (_, value) = result.unwrap(); // TODO: handle error - let (edge_id, to_node) = NexusGraphStorage::unpack_adj_edge_data(value).unwrap(); // TODO: handle error + let (edge_id, to_node) = SensibleGraphStorage::unpack_adj_edge_data(value).unwrap(); // TODO: handle error let edge = match self.storage.get_edge(self.txn, &edge_id, self.arena) { Ok(e) => e, @@ -447,7 +447,7 @@ where let out_prefix = self.edge_label.map_or_else( || current_id.to_be_bytes().to_vec(), |label| { - NexusGraphStorage::out_edge_key(¤t_id, &hash_label(label, None)).to_vec() + SensibleGraphStorage::out_edge_key(¤t_id, &hash_label(label, None)).to_vec() }, ); @@ -459,7 +459,7 @@ where for result in iter { let (_, value) = result.unwrap(); // TODO: handle error - let (edge_id, to_node) = NexusGraphStorage::unpack_adj_edge_data(value).unwrap(); // TODO: handle error + let (edge_id, to_node) = SensibleGraphStorage::unpack_adj_edge_data(value).unwrap(); // TODO: handle error let edge = match self.storage.get_edge(self.txn, &edge_id, self.arena) { Ok(e) => e, diff --git a/sensibledb-db/src/sensibledb_engine/traversal_core/ops/util/upsert.rs b/sensibledb-db/src/sensibledb_engine/traversal_core/ops/util/upsert.rs index 770bea8d..e7754cfb 100644 --- a/sensibledb-db/src/sensibledb_engine/traversal_core/ops/util/upsert.rs +++ b/sensibledb-db/src/sensibledb_engine/traversal_core/ops/util/upsert.rs @@ -4,7 +4,7 @@ use itertools::Itertools; use crate::{ sensibledb_engine::{ bm25::bm25::HBM25Config, - storage_core::{NexusGraphStorage, storage_methods::StorageMethods}, + storage_core::{SensibleGraphStorage, storage_methods::StorageMethods}, traversal_core::{traversal_iter::RwTraversalIterator, traversal_value::TraversalValue}, types::GraphError, vector_core::{hnsw::HNSW, vector::HVector}, @@ -392,7 +392,7 @@ impl<'db, 'arena, 'txn, I: Iterator, GraphE impl Iterator, GraphError>>, > { let label_hash = hash_label(label, None); - let out_key = NexusGraphStorage::out_edge_key(&from_node, &label_hash); + let out_key = SensibleGraphStorage::out_edge_key(&from_node, &label_hash); let existing_edge: Result, GraphError> = (|| { let Some(iter) = self .storage @@ -407,7 +407,7 @@ impl<'db, 'arena, 'txn, I: Iterator, GraphE let data = data .decode() .map_err(|e| GraphError::DecodeError(e.to_string()))?; - let (edge_id, node_id) = NexusGraphStorage::unpack_adj_edge_data(data)?; + let (edge_id, node_id) = SensibleGraphStorage::unpack_adj_edge_data(data)?; if node_id == to_node { return Ok(Some(self.storage.get_edge(self.txn, &edge_id, self.arena)?)); } @@ -461,7 +461,7 @@ impl<'db, 'arena, 'txn, I: Iterator, GraphE let serialized_edge = edge.to_bincode_bytes()?; self.storage.edges_db.put( self.txn, - NexusGraphStorage::edge_key(&edge.id), + SensibleGraphStorage::edge_key(&edge.id), &serialized_edge, )?; Ok(TraversalValue::Edge(edge)) @@ -493,20 +493,20 @@ impl<'db, 'arena, 'txn, I: Iterator, GraphE self.storage.edges_db.put_with_flags( self.txn, PutFlags::APPEND, - NexusGraphStorage::edge_key(&edge.id), + SensibleGraphStorage::edge_key(&edge.id), &bytes, )?; self.storage.out_edges_db.put_with_flags( self.txn, PutFlags::APPEND_DUP, - &NexusGraphStorage::out_edge_key(&from_node, &label_hash), - &NexusGraphStorage::pack_edge_data(&edge.id, &to_node), + &SensibleGraphStorage::out_edge_key(&from_node, &label_hash), + &SensibleGraphStorage::pack_edge_data(&edge.id, &to_node), )?; self.storage.in_edges_db.put_with_flags( self.txn, PutFlags::APPEND_DUP, - &NexusGraphStorage::in_edge_key(&to_node, &label_hash), - &NexusGraphStorage::pack_edge_data(&edge.id, &from_node), + &SensibleGraphStorage::in_edge_key(&to_node, &label_hash), + &SensibleGraphStorage::pack_edge_data(&edge.id, &from_node), )?; Ok(TraversalValue::Edge(edge)) } diff --git a/sensibledb-db/src/sensibledb_engine/traversal_core/traversal_iter.rs b/sensibledb-db/src/sensibledb_engine/traversal_core/traversal_iter.rs index fc7570d3..a6c65623 100644 --- a/sensibledb-db/src/sensibledb_engine/traversal_core/traversal_iter.rs +++ b/sensibledb-db/src/sensibledb_engine/traversal_core/traversal_iter.rs @@ -1,6 +1,6 @@ use crate::{ sensibledb_engine::{ - storage_core::NexusGraphStorage, traversal_core::traversal_value::TraversalValue, + storage_core::SensibleGraphStorage, traversal_core::traversal_value::TraversalValue, types::GraphError, }, protocol::value::Value, @@ -13,7 +13,7 @@ where 'db: 'arena, 'arena: 'txn, { - pub storage: &'db NexusGraphStorage, + pub storage: &'db SensibleGraphStorage, pub arena: &'arena bumpalo::Bump, pub txn: &'txn RoTxn<'db>, pub inner: I, @@ -82,7 +82,7 @@ where 'db: 'arena, 'arena: 'txn, { - pub storage: &'db NexusGraphStorage, + pub storage: &'db SensibleGraphStorage, pub arena: &'arena bumpalo::Bump, pub txn: &'txn mut RwTxn<'db>, pub inner: I, @@ -103,7 +103,7 @@ impl<'db, 'arena, 'txn, I: Iterator, GraphE RwTraversalIterator<'db, 'arena, 'txn, I> { pub fn new( - storage: &'db NexusGraphStorage, + storage: &'db SensibleGraphStorage, txn: &'txn mut RwTxn<'db>, arena: &'arena bumpalo::Bump, inner: I, diff --git a/sensibledb-db/src/sensibledb_gateway/builtin/all_nodes_and_edges.rs b/sensibledb-db/src/sensibledb_gateway/builtin/all_nodes_and_edges.rs index 410c956c..e71be5f2 100644 --- a/sensibledb-db/src/sensibledb_gateway/builtin/all_nodes_and_edges.rs +++ b/sensibledb-db/src/sensibledb_gateway/builtin/all_nodes_and_edges.rs @@ -126,7 +126,7 @@ pub fn nodes_edges_inner(input: HandlerInput) -> Result, + db: &Arc, txn: &RoTxn, node_label: Option, arena: &bumpalo::Bump, @@ -195,7 +195,7 @@ mod tests { sensibledb_engine::{ storage_core::version_info::VersionInfo, traversal_core::{ - NexusGraphEngine, NexusGraphEngineOpts, + SensibleGraphEngine, SensibleGraphEngineOpts, config::Config, ops::{ g::G, @@ -209,15 +209,15 @@ mod tests { use std::sync::Arc; use tempfile::TempDir; - fn setup_test_engine() -> (NexusGraphEngine, TempDir) { + fn setup_test_engine() -> (SensibleGraphEngine, TempDir) { let temp_dir = TempDir::new().unwrap(); let db_path = temp_dir.path().to_str().unwrap(); - let opts = NexusGraphEngineOpts { + let opts = SensibleGraphEngineOpts { path: db_path.to_string(), config: Config::default(), version_info: VersionInfo::default(), }; - let engine = NexusGraphEngine::new(opts).unwrap(); + let engine = SensibleGraphEngine::new(opts).unwrap(); (engine, temp_dir) } diff --git a/sensibledb-db/src/sensibledb_gateway/builtin/node_by_id.rs b/sensibledb-db/src/sensibledb_gateway/builtin/node_by_id.rs index b969dd0f..72200712 100644 --- a/sensibledb-db/src/sensibledb_gateway/builtin/node_by_id.rs +++ b/sensibledb-db/src/sensibledb_gateway/builtin/node_by_id.rs @@ -132,7 +132,7 @@ mod tests { sensibledb_engine::{ storage_core::version_info::VersionInfo, traversal_core::{ - NexusGraphEngine, NexusGraphEngineOpts, + SensibleGraphEngine, SensibleGraphEngineOpts, config::Config, ops::{g::G, source::add_n::AddNAdapter}, }, @@ -145,15 +145,15 @@ mod tests { use std::sync::Arc; use tempfile::TempDir; - fn setup_test_engine() -> (NexusGraphEngine, TempDir) { + fn setup_test_engine() -> (SensibleGraphEngine, TempDir) { let temp_dir = TempDir::new().unwrap(); let db_path = temp_dir.path().to_str().unwrap(); - let opts = NexusGraphEngineOpts { + let opts = SensibleGraphEngineOpts { path: db_path.to_string(), config: Config::default(), version_info: VersionInfo::default(), }; - let engine = NexusGraphEngine::new(opts).unwrap(); + let engine = SensibleGraphEngine::new(opts).unwrap(); (engine, temp_dir) } diff --git a/sensibledb-db/src/sensibledb_gateway/builtin/node_connections.rs b/sensibledb-db/src/sensibledb_gateway/builtin/node_connections.rs index 98a9d983..b15c7168 100644 --- a/sensibledb-db/src/sensibledb_gateway/builtin/node_connections.rs +++ b/sensibledb-db/src/sensibledb_gateway/builtin/node_connections.rs @@ -8,7 +8,7 @@ use serde::Deserialize; use sonic_rs::{JsonValueTrait, json}; use tracing::info; -use crate::sensibledb_engine::storage_core::NexusGraphStorage; +use crate::sensibledb_engine::storage_core::SensibleGraphStorage; use crate::sensibledb_engine::storage_core::storage_methods::StorageMethods; use crate::sensibledb_engine::traversal_core::traversal_value::TraversalValue; use crate::sensibledb_engine::types::GraphError; @@ -92,7 +92,7 @@ pub fn node_connections_inner(input: HandlerInput) -> Result match NexusGraphStorage::unpack_adj_edge_data(value) { + Ok((_, value)) => match SensibleGraphStorage::unpack_adj_edge_data(value) { Ok((edge_id, from_node)) => { if connected_node_ids.insert(from_node) && let Ok(node) = db.get_node(&txn, &from_node, &arena) @@ -115,7 +115,7 @@ pub fn node_connections_inner(input: HandlerInput) -> Result match NexusGraphStorage::unpack_adj_edge_data(value) { + Ok((_, value)) => match SensibleGraphStorage::unpack_adj_edge_data(value) { Ok((edge_id, to_node)) => { if connected_node_ids.insert(to_node) && let Ok(node) = db.get_node(&txn, &to_node, &arena) @@ -214,7 +214,7 @@ mod tests { sensibledb_engine::{ storage_core::version_info::VersionInfo, traversal_core::{ - NexusGraphEngine, NexusGraphEngineOpts, + SensibleGraphEngine, SensibleGraphEngineOpts, config::Config, ops::{ g::G, @@ -230,15 +230,15 @@ mod tests { use std::sync::Arc; use tempfile::TempDir; - fn setup_test_engine() -> (NexusGraphEngine, TempDir) { + fn setup_test_engine() -> (SensibleGraphEngine, TempDir) { let temp_dir = TempDir::new().unwrap(); let db_path = temp_dir.path().to_str().unwrap(); - let opts = NexusGraphEngineOpts { + let opts = SensibleGraphEngineOpts { path: db_path.to_string(), config: Config::default(), version_info: VersionInfo::default(), }; - let engine = NexusGraphEngine::new(opts).unwrap(); + let engine = SensibleGraphEngine::new(opts).unwrap(); (engine, temp_dir) } diff --git a/sensibledb-db/src/sensibledb_gateway/builtin/nodes_by_label.rs b/sensibledb-db/src/sensibledb_gateway/builtin/nodes_by_label.rs index afe757e8..dba0c591 100644 --- a/sensibledb-db/src/sensibledb_gateway/builtin/nodes_by_label.rs +++ b/sensibledb-db/src/sensibledb_gateway/builtin/nodes_by_label.rs @@ -149,7 +149,7 @@ mod tests { sensibledb_engine::{ storage_core::version_info::VersionInfo, traversal_core::{ - NexusGraphEngine, NexusGraphEngineOpts, + SensibleGraphEngine, SensibleGraphEngineOpts, config::Config, ops::{g::G, source::add_n::AddNAdapter}, }, @@ -161,15 +161,15 @@ mod tests { use std::sync::Arc; use tempfile::TempDir; - fn setup_test_engine() -> (NexusGraphEngine, TempDir) { + fn setup_test_engine() -> (SensibleGraphEngine, TempDir) { let temp_dir = TempDir::new().unwrap(); let db_path = temp_dir.path().to_str().unwrap(); - let opts = NexusGraphEngineOpts { + let opts = SensibleGraphEngineOpts { path: db_path.to_string(), config: Config::default(), version_info: VersionInfo::default(), }; - let engine = NexusGraphEngine::new(opts).unwrap(); + let engine = SensibleGraphEngine::new(opts).unwrap(); (engine, temp_dir) } diff --git a/sensibledb-db/src/sensibledb_gateway/gateway.rs b/sensibledb-db/src/sensibledb_gateway/gateway.rs index f8fba9da..a80c9766 100644 --- a/sensibledb-db/src/sensibledb_gateway/gateway.rs +++ b/sensibledb-db/src/sensibledb_gateway/gateway.rs @@ -10,7 +10,7 @@ use axum::routing::{get, post}; use core_affinity::CoreId; use tracing::{info, trace, warn}; -use super::router::router::{HandlerFn, NexusRouter}; +use super::router::router::{HandlerFn, SensibleRouter}; #[cfg(feature = "dev-instance")] use crate::sensibledb_gateway::builtin::all_nodes_and_edges::nodes_edges_handler; #[cfg(feature = "dev-instance")] @@ -23,7 +23,7 @@ use crate::sensibledb_gateway::introspect_schema::introspect_schema_handler; use crate::sensibledb_gateway::worker_pool::WorkerPool; use crate::protocol; use crate::{ - sensibledb_engine::traversal_core::{NexusGraphEngine, NexusGraphEngineOpts}, + sensibledb_engine::traversal_core::{SensibleGraphEngine, SensibleGraphEngineOpts}, sensibledb_gateway::mcp::mcp::MCPHandlerFn, }; @@ -33,28 +33,28 @@ impl GatewayOpts { pub const DEFAULT_WORKERS_PER_CORE: usize = 8; } -pub struct NexusGateway { +pub struct SensibleGateway { pub(crate) address: String, pub(crate) workers_per_core: usize, - pub(crate) graph_access: Arc, - pub(crate) router: Arc, - pub(crate) opts: Option, + pub(crate) graph_access: Arc, + pub(crate) router: Arc, + pub(crate) opts: Option, pub(crate) cluster_id: Option, } -impl NexusGateway { +impl SensibleGateway { pub fn new( address: &str, - graph_access: Arc, + graph_access: Arc, workers_per_core: usize, routes: Option>, mcp_routes: Option>, write_routes: Option>, - opts: Option, - ) -> NexusGateway { - let router = Arc::new(NexusRouter::new(routes, mcp_routes, write_routes)); + opts: Option, + ) -> SensibleGateway { + let router = Arc::new(SensibleRouter::new(routes, mcp_routes, write_routes)); let cluster_id = std::env::var("SENSIBLE_CLUSTER_ID").ok(); - NexusGateway { + SensibleGateway { address: address.to_string(), graph_access, router, diff --git a/sensibledb-db/src/sensibledb_gateway/mcp/mcp.rs b/sensibledb-db/src/sensibledb_gateway/mcp/mcp.rs index 1f92e7f1..c1b0699e 100644 --- a/sensibledb-db/src/sensibledb_gateway/mcp/mcp.rs +++ b/sensibledb-db/src/sensibledb_gateway/mcp/mcp.rs @@ -1,6 +1,6 @@ use crate::{ sensibledb_engine::{ - storage_core::NexusGraphStorage, + storage_core::SensibleGraphStorage, traversal_core::{ ops::util::{aggregate::AggregateAdapter, group_by::GroupByAdapter}, traversal_value::TraversalValue, @@ -63,11 +63,11 @@ impl Default for McpConnections { } pub struct McpBackend { - pub db: Arc, + pub db: Arc, } impl McpBackend { - pub fn new(db: Arc) -> Self { + pub fn new(db: Arc) -> Self { Self { db } } } @@ -116,7 +116,7 @@ impl MCPConnection { pub fn next_item<'db, 'arena>( &mut self, - db: &'db NexusGraphStorage, + db: &'db SensibleGraphStorage, arena: &'arena Bump, ) -> Result, GraphError> where diff --git a/sensibledb-db/src/sensibledb_gateway/mcp/tools.rs b/sensibledb-db/src/sensibledb_gateway/mcp/tools.rs index c70ef47a..a8c0015f 100644 --- a/sensibledb-db/src/sensibledb_gateway/mcp/tools.rs +++ b/sensibledb-db/src/sensibledb_gateway/mcp/tools.rs @@ -1,6 +1,6 @@ use crate::{ sensibledb_engine::{ - storage_core::NexusGraphStorage, + storage_core::SensibleGraphStorage, traversal_core::{ ops::{ g::G, @@ -151,7 +151,7 @@ where 'arena: 'txn, { pub fn new( - storage: &'db NexusGraphStorage, + storage: &'db SensibleGraphStorage, txn: &'txn RoTxn<'db>, arena: &'arena Bump, ) -> Self { @@ -159,7 +159,7 @@ where } pub fn from_iter( - storage: &'db NexusGraphStorage, + storage: &'db SensibleGraphStorage, txn: &'txn RoTxn<'db>, arena: &'arena Bump, items: impl Iterator> + 'txn, @@ -235,7 +235,7 @@ where pub fn execute_query_chain<'db, 'arena, 'txn>( steps: &[ToolArgs], - storage: &'db NexusGraphStorage, + storage: &'db SensibleGraphStorage, txn: &'txn RoTxn<'db>, arena: &'arena Bump, ) -> Result, GraphError> @@ -249,7 +249,7 @@ where pub fn execute_query_chain_from_seed<'db, 'arena, 'txn>( steps: &[ToolArgs], - storage: &'db NexusGraphStorage, + storage: &'db SensibleGraphStorage, txn: &'txn RoTxn<'db>, arena: &'arena Bump, seed: impl Iterator> + 'txn, @@ -265,7 +265,7 @@ where pub fn execute_query_chain_with_stream<'db, 'arena, 'txn>( initial: TraversalStream<'db, 'arena, 'txn>, steps: &[ToolArgs], - storage: &'db NexusGraphStorage, + storage: &'db SensibleGraphStorage, txn: &'txn RoTxn<'db>, arena: &'arena Bump, ) -> Result, GraphError> @@ -281,7 +281,7 @@ where fn apply_step<'db, 'arena, 'txn>( stream: TraversalStream<'db, 'arena, 'txn>, step: &ToolArgs, - storage: &'db NexusGraphStorage, + storage: &'db SensibleGraphStorage, txn: &'txn RoTxn<'db>, arena: &'arena Bump, ) -> Result, GraphError> @@ -477,7 +477,7 @@ where fn matches_filter<'db, 'arena, 'txn>( item: &TraversalValue<'arena>, filter: &FilterTraversal, - storage: &'db NexusGraphStorage, + storage: &'db SensibleGraphStorage, txn: &'txn RoTxn<'db>, arena: &'arena Bump, ) -> Result @@ -521,7 +521,7 @@ fn matches_properties( fn evaluate_sub_traversal<'db, 'arena, 'txn>( item: &TraversalValue<'arena>, step: &ToolArgs, - storage: &'db NexusGraphStorage, + storage: &'db SensibleGraphStorage, txn: &'txn RoTxn<'db>, arena: &'arena Bump, ) -> Result diff --git a/sensibledb-db/src/sensibledb_gateway/router/router.rs b/sensibledb-db/src/sensibledb_gateway/router/router.rs index 7bab165a..16b42e84 100644 --- a/sensibledb-db/src/sensibledb_gateway/router/router.rs +++ b/sensibledb-db/src/sensibledb_gateway/router/router.rs @@ -8,7 +8,7 @@ // returns response use crate::{ - sensibledb_engine::{traversal_core::NexusGraphEngine, types::GraphError}, + sensibledb_engine::{traversal_core::SensibleGraphEngine, types::GraphError}, sensibledb_gateway::mcp::mcp::MCPHandlerFn, protocol::request::RetChan, }; @@ -19,7 +19,7 @@ use crate::protocol::{Request, Response}; pub struct HandlerInput { pub request: Request, - pub graph: Arc, + pub graph: Arc, } pub type ContMsg = ( @@ -78,7 +78,7 @@ inventory::collect!(HandlerSubmission); /// Router for handling requests and MCP requests /// /// Standard Routes and MCP Routes are stored in a HashMap with the method and path as the key -pub struct NexusRouter { +pub struct SensibleRouter { /// Name => Function pub routes: HashMap, pub mcp_routes: HashMap, @@ -86,7 +86,7 @@ pub struct NexusRouter { pub write_routes: std::collections::HashSet, } -impl NexusRouter { +impl SensibleRouter { /// Create a new router with a set of routes pub fn new( routes: Option>, @@ -178,12 +178,12 @@ mod tests { } // ============================================================================ - // NexusRouter Tests + // SensibleRouter Tests // ============================================================================ #[test] fn test_router_new_empty() { - let router = NexusRouter::new(None, None, None); + let router = SensibleRouter::new(None, None, None); assert!(router.routes.is_empty()); assert!(router.mcp_routes.is_empty()); @@ -198,7 +198,7 @@ mod tests { let mut write_routes = HashSet::new(); write_routes.insert("test".to_string()); - let router = NexusRouter::new(Some(routes), None, Some(write_routes)); + let router = SensibleRouter::new(Some(routes), None, Some(write_routes)); assert_eq!(router.routes.len(), 1); assert!(router.routes.contains_key("test")); @@ -210,7 +210,7 @@ mod tests { let mut write_routes = HashSet::new(); write_routes.insert("write_op".to_string()); - let router = NexusRouter::new(None, None, Some(write_routes)); + let router = SensibleRouter::new(None, None, Some(write_routes)); assert!(router.is_write_route("write_op")); } @@ -220,7 +220,7 @@ mod tests { let mut write_routes = HashSet::new(); write_routes.insert("write_op".to_string()); - let router = NexusRouter::new(None, None, Some(write_routes)); + let router = SensibleRouter::new(None, None, Some(write_routes)); assert!(!router.is_write_route("read_op")); assert!(!router.is_write_route("nonexistent")); @@ -228,7 +228,7 @@ mod tests { #[test] fn test_router_add_route_basic() { - let mut router = NexusRouter::new(None, None, None); + let mut router = SensibleRouter::new(None, None, None); router.add_route("new_route", dummy_handler, false); @@ -238,7 +238,7 @@ mod tests { #[test] fn test_router_add_route_as_write() { - let mut router = NexusRouter::new(None, None, None); + let mut router = SensibleRouter::new(None, None, None); router.add_route("write_route", dummy_handler, true); @@ -249,7 +249,7 @@ mod tests { #[test] fn test_router_add_route_overwrites() { - let mut router = NexusRouter::new(None, None, None); + let mut router = SensibleRouter::new(None, None, None); // Add initial route router.add_route("test", dummy_handler, false); diff --git a/sensibledb-db/src/sensibledb_gateway/tests/gateway_tests.rs b/sensibledb-db/src/sensibledb_gateway/tests/gateway_tests.rs index 48a5ba39..3bcb1b36 100644 --- a/sensibledb-db/src/sensibledb_gateway/tests/gateway_tests.rs +++ b/sensibledb-db/src/sensibledb_gateway/tests/gateway_tests.rs @@ -1,6 +1,6 @@ -use crate::sensibledb_engine::traversal_core::{NexusGraphEngine, NexusGraphEngineOpts}; -use crate::sensibledb_gateway::gateway::{AppState, CoreSetter, GatewayOpts, NexusGateway}; -use crate::sensibledb_gateway::router::router::NexusRouter; +use crate::sensibledb_engine::traversal_core::{SensibleGraphEngine, SensibleGraphEngineOpts}; +use crate::sensibledb_gateway::gateway::{AppState, CoreSetter, GatewayOpts, SensibleGateway}; +use crate::sensibledb_gateway::router::router::SensibleRouter; use crate::sensibledb_gateway::worker_pool::WorkerPool; use axum::body::Bytes; use core_affinity::CoreId; @@ -10,25 +10,25 @@ use std::{collections::HashMap, sync::Arc}; use crate::sensibledb_engine::traversal_core::config::Config; use tempfile::TempDir; -fn create_test_graph() -> (Arc, TempDir) { +fn create_test_graph() -> (Arc, TempDir) { let temp_dir = TempDir::new().unwrap(); - let opts = NexusGraphEngineOpts { + let opts = SensibleGraphEngineOpts { path: temp_dir.path().to_str().unwrap().to_string(), config: Config::default(), version_info: Default::default(), }; - let graph = Arc::new(NexusGraphEngine::new(opts).unwrap()); + let graph = Arc::new(SensibleGraphEngine::new(opts).unwrap()); (graph, temp_dir) } // ============================================================================ -// NexusGateway Tests +// SensibleGateway Tests // ============================================================================ #[test] fn test_gateway_new_basic() { let (graph, _temp_dir) = create_test_graph(); - let gateway = NexusGateway::new("127.0.0.1:8080", graph, 8, None, None, None, None); + let gateway = SensibleGateway::new("127.0.0.1:8080", graph, 8, None, None, None, None); assert_eq!(gateway.address, "127.0.0.1:8080"); assert_eq!(gateway.workers_per_core, 8); @@ -39,7 +39,7 @@ fn test_gateway_new_basic() { fn test_gateway_new_with_routes() { let (graph, _temp_dir) = create_test_graph(); let routes = HashMap::new(); - let gateway = NexusGateway::new("127.0.0.1:8080", graph, 8, Some(routes), None, None, None); + let gateway = SensibleGateway::new("127.0.0.1:8080", graph, 8, Some(routes), None, None, None); assert_eq!(gateway.address, "127.0.0.1:8080"); assert!(gateway.router.routes.is_empty()); @@ -49,7 +49,7 @@ fn test_gateway_new_with_routes() { fn test_gateway_new_with_mcp_routes() { let (graph, _temp_dir) = create_test_graph(); let mcp_routes = HashMap::new(); - let gateway = NexusGateway::new( + let gateway = SensibleGateway::new( "127.0.0.1:8080", graph, 8, @@ -66,12 +66,12 @@ fn test_gateway_new_with_mcp_routes() { #[test] fn test_gateway_new_with_opts() { let (graph, temp_dir) = create_test_graph(); - let opts = NexusGraphEngineOpts { + let opts = SensibleGraphEngineOpts { path: temp_dir.path().to_str().unwrap().to_string(), config: Config::default(), version_info: Default::default(), }; - let gateway = NexusGateway::new("127.0.0.1:8080", graph, 8, None, None, None, Some(opts)); + let gateway = SensibleGateway::new("127.0.0.1:8080", graph, 8, None, None, None, Some(opts)); assert!(gateway.opts.is_some()); } @@ -82,7 +82,7 @@ fn test_gateway_new_with_cluster_id() { std::env::set_var("SENSIBLE_CLUSTER_ID", "test-cluster-123"); } let (graph, _temp_dir) = create_test_graph(); - let gateway = NexusGateway::new("127.0.0.1:8080", graph, 8, None, None, None, None); + let gateway = SensibleGateway::new("127.0.0.1:8080", graph, 8, None, None, None, None); assert!(gateway.cluster_id.is_some()); assert_eq!(gateway.cluster_id.unwrap(), "test-cluster-123"); @@ -94,7 +94,7 @@ fn test_gateway_new_with_cluster_id() { #[test] fn test_gateway_fields() { let (graph, _temp_dir) = create_test_graph(); - let gateway = NexusGateway::new("0.0.0.0:3000", graph, 10, None, None, None, None); + let gateway = SensibleGateway::new("0.0.0.0:3000", graph, 10, None, None, None, None); assert_eq!(gateway.address, "0.0.0.0:3000"); assert_eq!(gateway.workers_per_core, 10); @@ -103,10 +103,10 @@ fn test_gateway_fields() { #[test] fn test_gateway_address_format() { let (graph, _temp_dir) = create_test_graph(); - let gateway = NexusGateway::new("localhost:8080", graph.clone(), 1, None, None, None, None); + let gateway = SensibleGateway::new("localhost:8080", graph.clone(), 1, None, None, None, None); assert_eq!(gateway.address, "localhost:8080"); - let gateway2 = NexusGateway::new("0.0.0.0:80", graph, 1, None, None, None, None); + let gateway2 = SensibleGateway::new("0.0.0.0:80", graph, 1, None, None, None, None); assert_eq!(gateway2.address, "0.0.0.0:80"); } @@ -114,13 +114,13 @@ fn test_gateway_address_format() { fn test_gateway_workers_per_core() { let (graph, _temp_dir) = create_test_graph(); - let gateway1 = NexusGateway::new("127.0.0.1:8080", graph.clone(), 1, None, None, None, None); + let gateway1 = SensibleGateway::new("127.0.0.1:8080", graph.clone(), 1, None, None, None, None); assert_eq!(gateway1.workers_per_core, 1); - let gateway2 = NexusGateway::new("127.0.0.1:8080", graph.clone(), 10, None, None, None, None); + let gateway2 = SensibleGateway::new("127.0.0.1:8080", graph.clone(), 10, None, None, None, None); assert_eq!(gateway2.workers_per_core, 10); - let gateway3 = NexusGateway::new( + let gateway3 = SensibleGateway::new( "127.0.0.1:8080", graph, GatewayOpts::DEFAULT_WORKERS_PER_CORE, @@ -139,7 +139,7 @@ fn test_gateway_workers_per_core() { #[test] fn test_app_state_creation() { let (graph, _temp_dir) = create_test_graph(); - let router = Arc::new(NexusRouter::new(None, None, None)); + let router = Arc::new(SensibleRouter::new(None, None, None)); let rt = Arc::new( tokio::runtime::Builder::new_multi_thread() .worker_threads(1) @@ -165,7 +165,7 @@ fn test_app_state_creation() { #[test] fn test_app_state_with_schema() { let (graph, _temp_dir) = create_test_graph(); - let router = Arc::new(NexusRouter::new(None, None, None)); + let router = Arc::new(SensibleRouter::new(None, None, None)); let rt = Arc::new( tokio::runtime::Builder::new_multi_thread() .worker_threads(1) @@ -194,7 +194,7 @@ fn test_app_state_with_schema() { #[test] fn test_app_state_with_cluster_id() { let (graph, _temp_dir) = create_test_graph(); - let router = Arc::new(NexusRouter::new(None, None, None)); + let router = Arc::new(SensibleRouter::new(None, None, None)); let rt = Arc::new( tokio::runtime::Builder::new_multi_thread() .worker_threads(1) diff --git a/sensibledb-db/src/sensibledb_gateway/tests/introspect_schema_tests.rs b/sensibledb-db/src/sensibledb_gateway/tests/introspect_schema_tests.rs index 9de8bf2a..bea5d2de 100644 --- a/sensibledb-db/src/sensibledb_gateway/tests/introspect_schema_tests.rs +++ b/sensibledb-db/src/sensibledb_gateway/tests/introspect_schema_tests.rs @@ -1,12 +1,12 @@ use std::sync::Arc; use crate::sensibledb_gateway::{ - gateway::CoreSetter, router::router::NexusRouter, worker_pool::WorkerPool, + gateway::CoreSetter, router::router::SensibleRouter, worker_pool::WorkerPool, }; use crate::{ sensibledb_engine::{ storage_core::version_info::VersionInfo, - traversal_core::{NexusGraphEngine, NexusGraphEngineOpts, config::Config}, + traversal_core::{SensibleGraphEngine, SensibleGraphEngineOpts, config::Config}, }, sensibledb_gateway::{gateway::AppState, introspect_schema::introspect_schema_handler}, }; @@ -20,13 +20,13 @@ use tempfile::TempDir; fn create_test_app_state(schema_json: Option) -> Arc { let temp_dir = TempDir::new().unwrap(); let db_path = temp_dir.path().to_str().unwrap(); - let opts = NexusGraphEngineOpts { + let opts = SensibleGraphEngineOpts { path: db_path.to_string(), config: Config::default(), version_info: VersionInfo::default(), }; - let graph = Arc::new(NexusGraphEngine::new(opts).unwrap()); - let router = Arc::new(NexusRouter::new(None, None, None)); + let graph = Arc::new(SensibleGraphEngine::new(opts).unwrap()); + let router = Arc::new(SensibleRouter::new(None, None, None)); let rt = Arc::new( tokio::runtime::Builder::new_multi_thread() .worker_threads(1) diff --git a/sensibledb-db/src/sensibledb_gateway/tests/mcp_tests.rs b/sensibledb-db/src/sensibledb_gateway/tests/mcp_tests.rs index 5af520bc..4196d072 100644 --- a/sensibledb-db/src/sensibledb_gateway/tests/mcp_tests.rs +++ b/sensibledb-db/src/sensibledb_gateway/tests/mcp_tests.rs @@ -10,7 +10,7 @@ mod mcp_tests { sensibledb_engine::{ storage_core::version_info::VersionInfo, traversal_core::{ - NexusGraphEngine, NexusGraphEngineOpts, + SensibleGraphEngine, SensibleGraphEngineOpts, config::Config, ops::{ g::G, @@ -27,14 +27,14 @@ mod mcp_tests { utils::{id::uuid_str, properties::ImmutablePropertiesMap}, }; - fn setup_engine() -> (NexusGraphEngine, TempDir) { + fn setup_engine() -> (SensibleGraphEngine, TempDir) { let temp_dir = TempDir::new().unwrap(); - let opts = NexusGraphEngineOpts { + let opts = SensibleGraphEngineOpts { path: temp_dir.path().to_str().unwrap().to_string(), config: Config::default(), version_info: VersionInfo::default(), }; - let engine = NexusGraphEngine::new(opts).unwrap(); + let engine = SensibleGraphEngine::new(opts).unwrap(); (engine, temp_dir) } diff --git a/sensibledb-db/src/sensibledb_gateway/tests/router_tests.rs b/sensibledb-db/src/sensibledb_gateway/tests/router_tests.rs index a57f3f9e..d57cde72 100644 --- a/sensibledb-db/src/sensibledb_gateway/tests/router_tests.rs +++ b/sensibledb-db/src/sensibledb_gateway/tests/router_tests.rs @@ -1,10 +1,10 @@ use crate::{ sensibledb_engine::{ - traversal_core::{NexusGraphEngine, NexusGraphEngineOpts, config::Config}, + traversal_core::{SensibleGraphEngine, SensibleGraphEngineOpts, config::Config}, types::GraphError, }, sensibledb_gateway::router::router::{ - Handler, HandlerFn, HandlerInput, HandlerSubmission, NexusRouter, RouterError, + Handler, HandlerFn, HandlerInput, HandlerSubmission, SensibleRouter, RouterError, }, protocol::{Format, Request, Response, request::RequestType}, }; @@ -12,14 +12,14 @@ use axum::body::Bytes; use std::{collections::HashMap, sync::Arc}; use tempfile::TempDir; -fn create_test_graph() -> (Arc, TempDir) { +fn create_test_graph() -> (Arc, TempDir) { let temp_dir = TempDir::new().unwrap(); - let opts = NexusGraphEngineOpts { + let opts = SensibleGraphEngineOpts { path: temp_dir.path().to_str().unwrap().to_string(), config: Config::default(), version_info: Default::default(), }; - let graph = Arc::new(NexusGraphEngine::new(opts).unwrap()); + let graph = Arc::new(SensibleGraphEngine::new(opts).unwrap()); (graph, temp_dir) } @@ -47,7 +47,7 @@ fn echo_handler(input: HandlerInput) -> Result { #[test] fn test_router_new_empty() { - let router = NexusRouter::new(None, None, None); + let router = SensibleRouter::new(None, None, None); assert!(router.routes.is_empty()); assert!(router.mcp_routes.is_empty()); } @@ -57,7 +57,7 @@ fn test_router_new_with_routes() { let mut routes = HashMap::new(); routes.insert("test".to_string(), Arc::new(test_handler) as HandlerFn); - let router = NexusRouter::new(Some(routes), None, None); + let router = SensibleRouter::new(Some(routes), None, None); assert_eq!(router.routes.len(), 1); assert!(router.routes.contains_key("test")); assert!(router.mcp_routes.is_empty()); @@ -70,7 +70,7 @@ fn test_router_new_with_multiple_routes() { routes.insert("route2".to_string(), Arc::new(error_handler) as HandlerFn); routes.insert("route3".to_string(), Arc::new(echo_handler) as HandlerFn); - let router = NexusRouter::new(Some(routes), None, None); + let router = SensibleRouter::new(Some(routes), None, None); assert_eq!(router.routes.len(), 3); assert!(router.routes.contains_key("route1")); assert!(router.routes.contains_key("route2")); @@ -83,7 +83,7 @@ fn test_router_new_with_multiple_routes() { #[test] fn test_add_route() { - let mut router = NexusRouter::new(None, None, None); + let mut router = SensibleRouter::new(None, None, None); router.add_route("test", test_handler, false); assert_eq!(router.routes.len(), 1); @@ -92,7 +92,7 @@ fn test_add_route() { #[test] fn test_add_multiple_routes() { - let mut router = NexusRouter::new(None, None, None); + let mut router = SensibleRouter::new(None, None, None); router.add_route("route1", test_handler, false); router.add_route("route2", error_handler, false); router.add_route("route3", echo_handler, false); @@ -105,7 +105,7 @@ fn test_add_multiple_routes() { #[test] fn test_add_route_overwrites_existing() { - let mut router = NexusRouter::new(None, None, None); + let mut router = SensibleRouter::new(None, None, None); router.add_route("test", test_handler, false); router.add_route("test", error_handler, false); @@ -115,7 +115,7 @@ fn test_add_route_overwrites_existing() { #[test] fn test_add_route_with_special_characters() { - let mut router = NexusRouter::new(None, None, None); + let mut router = SensibleRouter::new(None, None, None); router.add_route("/api/v1/query", test_handler, false); router.add_route("user:detail", test_handler, false); router.add_route("test-route", test_handler, false); @@ -133,7 +133,7 @@ fn test_add_route_with_special_characters() { #[test] fn test_handler_invocation_success() { let (graph, _temp_dir) = create_test_graph(); - let mut router = NexusRouter::new(None, None, None); + let mut router = SensibleRouter::new(None, None, None); router.add_route("test", test_handler, false); let handler = router.routes.get("test").unwrap(); @@ -158,7 +158,7 @@ fn test_handler_invocation_success() { #[test] fn test_handler_invocation_error() { let (graph, _temp_dir) = create_test_graph(); - let mut router = NexusRouter::new(None, None, None); + let mut router = SensibleRouter::new(None, None, None); router.add_route("error", error_handler, false); let handler = router.routes.get("error").unwrap(); @@ -182,7 +182,7 @@ fn test_handler_invocation_error() { #[test] fn test_handler_invocation_echo() { let (graph, _temp_dir) = create_test_graph(); - let mut router = NexusRouter::new(None, None, None); + let mut router = SensibleRouter::new(None, None, None); router.add_route("echo", echo_handler, false); let handler = router.routes.get("echo").unwrap(); @@ -206,7 +206,7 @@ fn test_handler_invocation_echo() { #[test] fn test_route_not_found() { - let router = NexusRouter::new(None, None, None); + let router = SensibleRouter::new(None, None, None); assert!(router.routes.get("nonexistent").is_none()); } @@ -303,7 +303,7 @@ fn test_handler_submission_creation() { #[test] fn test_router_new_with_mcp_routes() { let routes = HashMap::new(); - let router = NexusRouter::new(Some(routes), None, None); + let router = SensibleRouter::new(Some(routes), None, None); assert!(router.routes.is_empty()); assert!(router.mcp_routes.is_empty()); } diff --git a/sensibledb-db/src/sensibledb_gateway/tests/worker_pool_concurrency_tests.rs b/sensibledb-db/src/sensibledb_gateway/tests/worker_pool_concurrency_tests.rs index 966124dc..a26109ed 100644 --- a/sensibledb-db/src/sensibledb_gateway/tests/worker_pool_concurrency_tests.rs +++ b/sensibledb-db/src/sensibledb_gateway/tests/worker_pool_concurrency_tests.rs @@ -1,4 +1,4 @@ -use crate::sensibledb_engine::traversal_core::NexusGraphEngine; +use crate::sensibledb_engine::traversal_core::SensibleGraphEngine; /// Concurrency-specific tests for WorkerPool /// /// This test suite focuses on concurrent behavior and race conditions in the WorkerPool. @@ -17,13 +17,13 @@ use crate::sensibledb_engine::traversal_core::NexusGraphEngine; /// - Worker fairness under load /// - No coordination between workers accessing shared graph /// - No deadlocks or livelocks under high concurrency -use crate::sensibledb_engine::traversal_core::NexusGraphEngineOpts; +use crate::sensibledb_engine::traversal_core::SensibleGraphEngineOpts; use crate::sensibledb_engine::traversal_core::config::Config; use crate::sensibledb_engine::types::GraphError; use crate::sensibledb_gateway::worker_pool::WorkerPool; use crate::sensibledb_gateway::{ gateway::CoreSetter, - router::router::{HandlerInput, NexusRouter}, + router::router::{HandlerInput, SensibleRouter}, }; use crate::protocol::Format; use crate::protocol::{Request, request::RequestType, response::Response}; @@ -42,14 +42,14 @@ fn test_handler(_input: HandlerInput) -> Result { }) } -fn create_test_graph() -> (Arc, TempDir) { +fn create_test_graph() -> (Arc, TempDir) { let temp_dir = TempDir::new().unwrap(); - let opts = NexusGraphEngineOpts { + let opts = SensibleGraphEngineOpts { path: temp_dir.path().to_str().unwrap().to_string(), config: Config::default(), version_info: Default::default(), }; - let graph = Arc::new(NexusGraphEngine::new(opts).unwrap()); + let graph = Arc::new(SensibleGraphEngine::new(opts).unwrap()); (graph, temp_dir) } @@ -70,9 +70,9 @@ fn create_test_pool( routes: Option< HashMap Result + Send + Sync>>, >, -) -> (WorkerPool, Arc, TempDir) { +) -> (WorkerPool, Arc, TempDir) { let (graph, temp_dir) = create_test_graph(); - let router = Arc::new(NexusRouter::new(routes, None, None)); + let router = Arc::new(SensibleRouter::new(routes, None, None)); let rt = Arc::new( tokio::runtime::Builder::new_multi_thread() .worker_threads(num_cores) diff --git a/sensibledb-db/src/sensibledb_gateway/tests/worker_pool_tests.rs b/sensibledb-db/src/sensibledb_gateway/tests/worker_pool_tests.rs index bafa7ad0..7112b76e 100644 --- a/sensibledb-db/src/sensibledb_gateway/tests/worker_pool_tests.rs +++ b/sensibledb-db/src/sensibledb_gateway/tests/worker_pool_tests.rs @@ -1,10 +1,10 @@ -use crate::sensibledb_engine::traversal_core::NexusGraphEngineOpts; +use crate::sensibledb_engine::traversal_core::SensibleGraphEngineOpts; use crate::sensibledb_engine::traversal_core::config::Config; -use crate::sensibledb_engine::{traversal_core::NexusGraphEngine, types::GraphError}; +use crate::sensibledb_engine::{traversal_core::SensibleGraphEngine, types::GraphError}; use crate::sensibledb_gateway::worker_pool::WorkerPool; use crate::sensibledb_gateway::{ gateway::CoreSetter, - router::router::{HandlerInput, NexusRouter, IoContFn}, + router::router::{HandlerInput, SensibleRouter, IoContFn}, }; use crate::protocol::Format; use crate::protocol::{NexusError, Request, request::RequestType, response::Response}; @@ -12,18 +12,18 @@ use axum::body::Bytes; use std::sync::Arc; use tempfile::TempDir; -fn create_test_graph() -> (Arc, TempDir) { +fn create_test_graph() -> (Arc, TempDir) { let temp_dir = TempDir::new().unwrap(); let mut config = Config::default(); // Use very minimal DB size for tests (0 means use minimum) // This reduces memory mapping requirements when running many tests in parallel config.db_max_size_gb = Some(0); - let opts = NexusGraphEngineOpts { + let opts = SensibleGraphEngineOpts { path: temp_dir.path().to_str().unwrap().to_string(), config, version_info: Default::default(), }; - let graph = Arc::new(NexusGraphEngine::new(opts).unwrap()); + let graph = Arc::new(SensibleGraphEngine::new(opts).unwrap()); (graph, temp_dir) } @@ -56,7 +56,7 @@ fn create_test_request(name: &str, req_type: RequestType) -> Request { #[test] fn test_worker_pool_new() { let (graph, _temp_dir) = create_test_graph(); - let router = Arc::new(NexusRouter::new(None, None, None)); + let router = Arc::new(SensibleRouter::new(None, None, None)); let rt = Arc::new( tokio::runtime::Builder::new_multi_thread() .worker_threads(1) @@ -77,7 +77,7 @@ fn test_worker_pool_new() { #[test] fn test_worker_pool_with_single_core() { let (graph, _temp_dir) = create_test_graph(); - let router = Arc::new(NexusRouter::new(None, None, None)); + let router = Arc::new(SensibleRouter::new(None, None, None)); let rt = Arc::new( tokio::runtime::Builder::new_multi_thread() .worker_threads(1) @@ -96,7 +96,7 @@ fn test_worker_pool_with_single_core() { #[test] fn test_worker_pool_with_multiple_cores() { let (graph, _temp_dir) = create_test_graph(); - let router = Arc::new(NexusRouter::new(None, None, None)); + let router = Arc::new(SensibleRouter::new(None, None, None)); let rt = Arc::new( tokio::runtime::Builder::new_multi_thread() .worker_threads(2) @@ -117,7 +117,7 @@ fn test_worker_pool_with_multiple_cores() { #[test] fn test_worker_pool_with_multiple_workers_per_core() { let (graph, _temp_dir) = create_test_graph(); - let router = Arc::new(NexusRouter::new(None, None, None)); + let router = Arc::new(SensibleRouter::new(None, None, None)); let rt = Arc::new( tokio::runtime::Builder::new_multi_thread() .worker_threads(4) @@ -135,7 +135,7 @@ fn test_worker_pool_with_multiple_workers_per_core() { #[test] fn test_worker_pool_channel_capacity() { let (graph, _temp_dir) = create_test_graph(); - let router = Arc::new(NexusRouter::new(None, None, None)); + let router = Arc::new(SensibleRouter::new(None, None, None)); let rt = Arc::new( tokio::runtime::Builder::new_multi_thread() .worker_threads(1) @@ -162,7 +162,7 @@ async fn test_process_request_success() { let (graph, _temp_dir) = create_test_graph(); let mut routes = std::collections::HashMap::new(); routes.insert("test_query".to_string(), Arc::new(test_handler) as Arc<_>); - let router = Arc::new(NexusRouter::new(Some(routes), None, None)); + let router = Arc::new(SensibleRouter::new(Some(routes), None, None)); let rt = Arc::new( tokio::runtime::Builder::new_multi_thread() @@ -191,7 +191,7 @@ async fn test_process_request_handler_error() { let (graph, _temp_dir) = create_test_graph(); let mut routes = std::collections::HashMap::new(); routes.insert("error_query".to_string(), Arc::new(error_handler) as Arc<_>); - let router = Arc::new(NexusRouter::new(Some(routes), None, None)); + let router = Arc::new(SensibleRouter::new(Some(routes), None, None)); let rt = Arc::new( tokio::runtime::Builder::new_multi_thread() @@ -216,7 +216,7 @@ async fn test_process_request_handler_error() { #[tokio::test] async fn test_process_request_not_found() { let (graph, _temp_dir) = create_test_graph(); - let router = Arc::new(NexusRouter::new(None, None, None)); + let router = Arc::new(SensibleRouter::new(None, None, None)); let rt = Arc::new( tokio::runtime::Builder::new_multi_thread() @@ -250,7 +250,7 @@ async fn test_process_multiple_requests_sequentially() { let (graph, _temp_dir) = create_test_graph(); let mut routes = std::collections::HashMap::new(); routes.insert("test_query".to_string(), Arc::new(test_handler) as Arc<_>); - let router = Arc::new(NexusRouter::new(Some(routes), None, None)); + let router = Arc::new(SensibleRouter::new(Some(routes), None, None)); let rt = Arc::new( tokio::runtime::Builder::new_multi_thread() @@ -278,7 +278,7 @@ async fn test_process_requests_parallel() { let (graph, _temp_dir) = create_test_graph(); let mut routes = std::collections::HashMap::new(); routes.insert("test_query".to_string(), Arc::new(test_handler) as Arc<_>); - let router = Arc::new(NexusRouter::new(Some(routes), None, None)); + let router = Arc::new(SensibleRouter::new(Some(routes), None, None)); let rt = Arc::new( tokio::runtime::Builder::new_multi_thread() @@ -321,7 +321,7 @@ async fn test_route_query_request() { let (graph, _temp_dir) = create_test_graph(); let mut routes = std::collections::HashMap::new(); routes.insert("query1".to_string(), Arc::new(test_handler) as Arc<_>); - let router = Arc::new(NexusRouter::new(Some(routes), None, None)); + let router = Arc::new(SensibleRouter::new(Some(routes), None, None)); let rt = Arc::new( tokio::runtime::Builder::new_multi_thread() @@ -346,7 +346,7 @@ async fn test_route_query_request() { #[tokio::test] async fn test_route_query_not_found() { let (graph, _temp_dir) = create_test_graph(); - let router = Arc::new(NexusRouter::new(None, None, None)); + let router = Arc::new(SensibleRouter::new(None, None, None)); let rt = Arc::new( tokio::runtime::Builder::new_multi_thread() @@ -376,7 +376,7 @@ async fn test_multiple_query_routes() { routes.insert("query1".to_string(), Arc::new(test_handler) as Arc<_>); routes.insert("query2".to_string(), Arc::new(test_handler) as Arc<_>); routes.insert("query3".to_string(), Arc::new(test_handler) as Arc<_>); - let router = Arc::new(NexusRouter::new(Some(routes), None, None)); + let router = Arc::new(SensibleRouter::new(Some(routes), None, None)); let rt = Arc::new( tokio::runtime::Builder::new_multi_thread() @@ -411,7 +411,7 @@ async fn test_route_with_special_characters() { "query_with_underscore".to_string(), Arc::new(test_handler) as Arc<_>, ); - let router = Arc::new(NexusRouter::new(Some(routes), None, None)); + let router = Arc::new(SensibleRouter::new(Some(routes), None, None)); let rt = Arc::new( tokio::runtime::Builder::new_multi_thread() @@ -443,7 +443,7 @@ async fn test_handler_error_propagation() { let (graph, _temp_dir) = create_test_graph(); let mut routes = std::collections::HashMap::new(); routes.insert("error".to_string(), Arc::new(error_handler) as Arc<_>); - let router = Arc::new(NexusRouter::new(Some(routes), None, None)); + let router = Arc::new(SensibleRouter::new(Some(routes), None, None)); let rt = Arc::new( tokio::runtime::Builder::new_multi_thread() @@ -468,7 +468,7 @@ async fn test_handler_error_propagation() { #[tokio::test] async fn test_not_found_error_contains_request_name() { let (graph, _temp_dir) = create_test_graph(); - let router = Arc::new(NexusRouter::new(None, None, None)); + let router = Arc::new(SensibleRouter::new(None, None, None)); let rt = Arc::new( tokio::runtime::Builder::new_multi_thread() @@ -498,7 +498,7 @@ async fn test_not_found_error_contains_request_name() { #[tokio::test] async fn test_not_found_error_contains_request_type() { let (graph, _temp_dir) = create_test_graph(); - let router = Arc::new(NexusRouter::new(None, None, None)); + let router = Arc::new(SensibleRouter::new(None, None, None)); let rt = Arc::new( tokio::runtime::Builder::new_multi_thread() @@ -531,7 +531,7 @@ async fn test_mixed_success_and_error_requests() { let mut routes = std::collections::HashMap::new(); routes.insert("success".to_string(), Arc::new(test_handler) as Arc<_>); routes.insert("error".to_string(), Arc::new(error_handler) as Arc<_>); - let router = Arc::new(NexusRouter::new(Some(routes), None, None)); + let router = Arc::new(SensibleRouter::new(Some(routes), None, None)); let rt = Arc::new( tokio::runtime::Builder::new_multi_thread() @@ -566,7 +566,7 @@ async fn test_request_with_body_data() { let (graph, _temp_dir) = create_test_graph(); let mut routes = std::collections::HashMap::new(); routes.insert("test".to_string(), Arc::new(test_handler) as Arc<_>); - let router = Arc::new(NexusRouter::new(Some(routes), None, None)); + let router = Arc::new(SensibleRouter::new(Some(routes), None, None)); let rt = Arc::new( tokio::runtime::Builder::new_multi_thread() @@ -600,7 +600,7 @@ async fn test_request_with_empty_body() { let (graph, _temp_dir) = create_test_graph(); let mut routes = std::collections::HashMap::new(); routes.insert("test".to_string(), Arc::new(test_handler) as Arc<_>); - let router = Arc::new(NexusRouter::new(Some(routes), None, None)); + let router = Arc::new(SensibleRouter::new(Some(routes), None, None)); let rt = Arc::new( tokio::runtime::Builder::new_multi_thread() @@ -626,7 +626,7 @@ async fn test_request_format_json() { let (graph, _temp_dir) = create_test_graph(); let mut routes = std::collections::HashMap::new(); routes.insert("test".to_string(), Arc::new(test_handler) as Arc<_>); - let router = Arc::new(NexusRouter::new(Some(routes), None, None)); + let router = Arc::new(SensibleRouter::new(Some(routes), None, None)); let rt = Arc::new( tokio::runtime::Builder::new_multi_thread() @@ -663,7 +663,7 @@ async fn test_request_format_json() { #[test] fn test_worker_thread_creation() { let (graph, _temp_dir) = create_test_graph(); - let router = Arc::new(NexusRouter::new(None, None, None)); + let router = Arc::new(SensibleRouter::new(None, None, None)); let rt = Arc::new( tokio::runtime::Builder::new_multi_thread() .worker_threads(1) @@ -686,7 +686,7 @@ fn test_worker_thread_creation() { #[test] fn test_multiple_worker_threads() { let (graph, _temp_dir) = create_test_graph(); - let router = Arc::new(NexusRouter::new(None, None, None)); + let router = Arc::new(SensibleRouter::new(None, None, None)); let rt = Arc::new( tokio::runtime::Builder::new_multi_thread() .worker_threads(4) @@ -716,7 +716,7 @@ async fn test_channel_communication() { let (graph, _temp_dir) = create_test_graph(); let mut routes = std::collections::HashMap::new(); routes.insert("test".to_string(), Arc::new(test_handler) as Arc<_>); - let router = Arc::new(NexusRouter::new(Some(routes), None, None)); + let router = Arc::new(SensibleRouter::new(Some(routes), None, None)); let rt = Arc::new( tokio::runtime::Builder::new_multi_thread() @@ -743,7 +743,7 @@ async fn test_high_volume_requests() { let (graph, _temp_dir) = create_test_graph(); let mut routes = std::collections::HashMap::new(); routes.insert("test".to_string(), Arc::new(test_handler) as Arc<_>); - let router = Arc::new(NexusRouter::new(Some(routes), None, None)); + let router = Arc::new(SensibleRouter::new(Some(routes), None, None)); let rt = Arc::new( tokio::runtime::Builder::new_multi_thread() @@ -803,7 +803,7 @@ async fn test_handler_receives_correct_request() { "check_name".to_string(), Arc::new(check_request_handler) as Arc<_>, ); - let router = Arc::new(NexusRouter::new(Some(routes), None, None)); + let router = Arc::new(SensibleRouter::new(Some(routes), None, None)); let rt = Arc::new( tokio::runtime::Builder::new_multi_thread() @@ -841,7 +841,7 @@ async fn test_handler_receives_graph_access() { let (graph, _temp_dir) = create_test_graph(); let mut routes = std::collections::HashMap::new(); routes.insert("test".to_string(), Arc::new(graph_access_handler) as Arc<_>); - let router = Arc::new(NexusRouter::new(Some(routes), None, None)); + let router = Arc::new(SensibleRouter::new(Some(routes), None, None)); let rt = Arc::new( tokio::runtime::Builder::new_multi_thread() @@ -872,7 +872,7 @@ async fn test_response_body_content() { let (graph, _temp_dir) = create_test_graph(); let mut routes = std::collections::HashMap::new(); routes.insert("test".to_string(), Arc::new(test_handler) as Arc<_>); - let router = Arc::new(NexusRouter::new(Some(routes), None, None)); + let router = Arc::new(SensibleRouter::new(Some(routes), None, None)); let rt = Arc::new( tokio::runtime::Builder::new_multi_thread() @@ -902,7 +902,7 @@ async fn test_response_format_preserved() { let (graph, _temp_dir) = create_test_graph(); let mut routes = std::collections::HashMap::new(); routes.insert("test".to_string(), Arc::new(test_handler) as Arc<_>); - let router = Arc::new(NexusRouter::new(Some(routes), None, None)); + let router = Arc::new(SensibleRouter::new(Some(routes), None, None)); let rt = Arc::new( tokio::runtime::Builder::new_multi_thread() @@ -934,7 +934,7 @@ async fn test_empty_route_name() { let (graph, _temp_dir) = create_test_graph(); let mut routes = std::collections::HashMap::new(); routes.insert("".to_string(), Arc::new(test_handler) as Arc<_>); - let router = Arc::new(NexusRouter::new(Some(routes), None, None)); + let router = Arc::new(SensibleRouter::new(Some(routes), None, None)); let rt = Arc::new( tokio::runtime::Builder::new_multi_thread() @@ -962,7 +962,7 @@ async fn test_very_long_route_name() { let long_name = "a".repeat(1000); let mut routes = std::collections::HashMap::new(); routes.insert(long_name.clone(), Arc::new(test_handler) as Arc<_>); - let router = Arc::new(NexusRouter::new(Some(routes), None, None)); + let router = Arc::new(SensibleRouter::new(Some(routes), None, None)); let rt = Arc::new( tokio::runtime::Builder::new_multi_thread() @@ -991,7 +991,7 @@ async fn test_concurrent_different_routes() { routes.insert("route_a".to_string(), Arc::new(test_handler) as Arc<_>); routes.insert("route_b".to_string(), Arc::new(test_handler) as Arc<_>); routes.insert("route_c".to_string(), Arc::new(test_handler) as Arc<_>); - let router = Arc::new(NexusRouter::new(Some(routes), None, None)); + let router = Arc::new(SensibleRouter::new(Some(routes), None, None)); let rt = Arc::new( tokio::runtime::Builder::new_multi_thread() @@ -1032,7 +1032,7 @@ async fn test_sequential_different_routes() { routes.insert("first".to_string(), Arc::new(test_handler) as Arc<_>); routes.insert("second".to_string(), Arc::new(test_handler) as Arc<_>); routes.insert("third".to_string(), Arc::new(test_handler) as Arc<_>); - let router = Arc::new(NexusRouter::new(Some(routes), None, None)); + let router = Arc::new(SensibleRouter::new(Some(routes), None, None)); let rt = Arc::new( tokio::runtime::Builder::new_multi_thread() @@ -1059,7 +1059,7 @@ async fn test_repeated_requests_same_route() { let (graph, _temp_dir) = create_test_graph(); let mut routes = std::collections::HashMap::new(); routes.insert("repeat".to_string(), Arc::new(test_handler) as Arc<_>); - let router = Arc::new(NexusRouter::new(Some(routes), None, None)); + let router = Arc::new(SensibleRouter::new(Some(routes), None, None)); let rt = Arc::new( tokio::runtime::Builder::new_multi_thread() @@ -1087,7 +1087,7 @@ async fn test_alternating_success_error() { let mut routes = std::collections::HashMap::new(); routes.insert("success".to_string(), Arc::new(test_handler) as Arc<_>); routes.insert("error".to_string(), Arc::new(error_handler) as Arc<_>); - let router = Arc::new(NexusRouter::new(Some(routes), None, None)); + let router = Arc::new(SensibleRouter::new(Some(routes), None, None)); let rt = Arc::new( tokio::runtime::Builder::new_multi_thread() @@ -1120,7 +1120,7 @@ async fn test_request_with_large_body() { let (graph, _temp_dir) = create_test_graph(); let mut routes = std::collections::HashMap::new(); routes.insert("test".to_string(), Arc::new(test_handler) as Arc<_>); - let router = Arc::new(NexusRouter::new(Some(routes), None, None)); + let router = Arc::new(SensibleRouter::new(Some(routes), None, None)); let rt = Arc::new( tokio::runtime::Builder::new_multi_thread() @@ -1155,7 +1155,7 @@ async fn test_many_parallel_requests() { let (graph, _temp_dir) = create_test_graph(); let mut routes = std::collections::HashMap::new(); routes.insert("test".to_string(), Arc::new(test_handler) as Arc<_>); - let router = Arc::new(NexusRouter::new(Some(routes), None, None)); + let router = Arc::new(SensibleRouter::new(Some(routes), None, None)); let rt = Arc::new( tokio::runtime::Builder::new_multi_thread() @@ -1196,7 +1196,7 @@ async fn test_many_parallel_requests() { #[tokio::test] async fn test_worker_pool_no_routes() { let (graph, _temp_dir) = create_test_graph(); - let router = Arc::new(NexusRouter::new(None, None, None)); + let router = Arc::new(SensibleRouter::new(None, None, None)); let rt = Arc::new( tokio::runtime::Builder::new_multi_thread() @@ -1224,7 +1224,7 @@ async fn test_request_type_query_explicit() { let (graph, _temp_dir) = create_test_graph(); let mut routes = std::collections::HashMap::new(); routes.insert("query".to_string(), Arc::new(test_handler) as Arc<_>); - let router = Arc::new(NexusRouter::new(Some(routes), None, None)); + let router = Arc::new(SensibleRouter::new(Some(routes), None, None)); let rt = Arc::new( tokio::runtime::Builder::new_multi_thread() @@ -1257,7 +1257,7 @@ async fn test_request_type_query_explicit() { #[should_panic(expected = "The number of workers must be at least 2")] fn test_worker_pool_with_empty_cores() { let (graph, _temp_dir) = create_test_graph(); - let router = Arc::new(NexusRouter::new(None, None, None)); + let router = Arc::new(SensibleRouter::new(None, None, None)); let rt = Arc::new( tokio::runtime::Builder::new_multi_thread() .worker_threads(1) @@ -1277,7 +1277,7 @@ fn test_worker_pool_with_empty_cores() { #[should_panic(expected = "The number of workers should be a multiple of 2")] fn test_worker_pool_with_odd_workers() { let (graph, _temp_dir) = create_test_graph(); - let router = Arc::new(NexusRouter::new(None, None, None)); + let router = Arc::new(SensibleRouter::new(None, None, None)); let rt = Arc::new( tokio::runtime::Builder::new_multi_thread() .worker_threads(1) @@ -1297,7 +1297,7 @@ fn test_worker_pool_with_odd_workers() { #[should_panic(expected = "The number of workers must be at least 2")] fn test_worker_pool_with_single_worker() { let (graph, _temp_dir) = create_test_graph(); - let router = Arc::new(NexusRouter::new(None, None, None)); + let router = Arc::new(SensibleRouter::new(None, None, None)); let rt = Arc::new( tokio::runtime::Builder::new_multi_thread() .worker_threads(1) @@ -1325,7 +1325,7 @@ async fn test_response_with_custom_body() { let (graph, _temp_dir) = create_test_graph(); let mut routes = std::collections::HashMap::new(); routes.insert("custom".to_string(), Arc::new(custom_handler) as Arc<_>); - let router = Arc::new(NexusRouter::new(Some(routes), None, None)); + let router = Arc::new(SensibleRouter::new(Some(routes), None, None)); let rt = Arc::new( tokio::runtime::Builder::new_multi_thread() @@ -1355,7 +1355,7 @@ async fn test_error_then_success() { let mut routes = std::collections::HashMap::new(); routes.insert("success".to_string(), Arc::new(test_handler) as Arc<_>); routes.insert("error".to_string(), Arc::new(error_handler) as Arc<_>); - let router = Arc::new(NexusRouter::new(Some(routes), None, None)); + let router = Arc::new(SensibleRouter::new(Some(routes), None, None)); let rt = Arc::new( tokio::runtime::Builder::new_multi_thread() @@ -1385,7 +1385,7 @@ async fn test_success_then_not_found() { let (graph, _temp_dir) = create_test_graph(); let mut routes = std::collections::HashMap::new(); routes.insert("exists".to_string(), Arc::new(test_handler) as Arc<_>); - let router = Arc::new(NexusRouter::new(Some(routes), None, None)); + let router = Arc::new(SensibleRouter::new(Some(routes), None, None)); let rt = Arc::new( tokio::runtime::Builder::new_multi_thread() @@ -1415,7 +1415,7 @@ async fn test_multiple_errors_in_sequence() { let (graph, _temp_dir) = create_test_graph(); let mut routes = std::collections::HashMap::new(); routes.insert("error".to_string(), Arc::new(error_handler) as Arc<_>); - let router = Arc::new(NexusRouter::new(Some(routes), None, None)); + let router = Arc::new(SensibleRouter::new(Some(routes), None, None)); let rt = Arc::new( tokio::runtime::Builder::new_multi_thread() @@ -1442,7 +1442,7 @@ async fn test_worker_pool_stress_test() { let (graph, _temp_dir) = create_test_graph(); let mut routes = std::collections::HashMap::new(); routes.insert("stress".to_string(), Arc::new(test_handler) as Arc<_>); - let router = Arc::new(NexusRouter::new(Some(routes), None, None)); + let router = Arc::new(SensibleRouter::new(Some(routes), None, None)); let rt = Arc::new( tokio::runtime::Builder::new_multi_thread() @@ -1484,7 +1484,7 @@ async fn test_route_case_sensitive() { let (graph, _temp_dir) = create_test_graph(); let mut routes = std::collections::HashMap::new(); routes.insert("Query".to_string(), Arc::new(test_handler) as Arc<_>); - let router = Arc::new(NexusRouter::new(Some(routes), None, None)); + let router = Arc::new(SensibleRouter::new(Some(routes), None, None)); let rt = Arc::new( tokio::runtime::Builder::new_multi_thread() @@ -1515,7 +1515,7 @@ async fn test_route_with_numbers() { let mut routes = std::collections::HashMap::new(); routes.insert("query123".to_string(), Arc::new(test_handler) as Arc<_>); routes.insert("123query".to_string(), Arc::new(test_handler) as Arc<_>); - let router = Arc::new(NexusRouter::new(Some(routes), None, None)); + let router = Arc::new(SensibleRouter::new(Some(routes), None, None)); let rt = Arc::new( tokio::runtime::Builder::new_multi_thread() @@ -1543,7 +1543,7 @@ async fn test_worker_pool_multiple_workers_same_route() { let (graph, _temp_dir) = create_test_graph(); let mut routes = std::collections::HashMap::new(); routes.insert("shared".to_string(), Arc::new(test_handler) as Arc<_>); - let router = Arc::new(NexusRouter::new(Some(routes), None, None)); + let router = Arc::new(SensibleRouter::new(Some(routes), None, None)); let rt = Arc::new( tokio::runtime::Builder::new_multi_thread() @@ -1582,7 +1582,7 @@ async fn test_request_name_with_unicode() { let (graph, _temp_dir) = create_test_graph(); let mut routes = std::collections::HashMap::new(); routes.insert("query_世界".to_string(), Arc::new(test_handler) as Arc<_>); - let router = Arc::new(NexusRouter::new(Some(routes), None, None)); + let router = Arc::new(SensibleRouter::new(Some(routes), None, None)); let rt = Arc::new( tokio::runtime::Builder::new_multi_thread() @@ -1609,7 +1609,7 @@ async fn test_rapid_fire_requests() { let (graph, _temp_dir) = create_test_graph(); let mut routes = std::collections::HashMap::new(); routes.insert("rapid".to_string(), Arc::new(test_handler) as Arc<_>); - let router = Arc::new(NexusRouter::new(Some(routes), None, None)); + let router = Arc::new(SensibleRouter::new(Some(routes), None, None)); let rt = Arc::new( tokio::runtime::Builder::new_multi_thread() @@ -1724,7 +1724,7 @@ async fn test_writer_continuation_priority() { write_routes.insert("io_write_a".to_string()); write_routes.insert("write_b".to_string()); - let router = Arc::new(NexusRouter::new(Some(routes), None, Some(write_routes))); + let router = Arc::new(SensibleRouter::new(Some(routes), None, Some(write_routes))); let rt = Arc::new( tokio::runtime::Builder::new_multi_thread() @@ -1835,7 +1835,7 @@ async fn test_read_continuation_channel_basic() { let mut routes = std::collections::HashMap::new(); routes.insert("io_read".to_string(), Arc::new(io_read_handler) as Arc<_>); // Not in write_routes, so it goes to reader workers - let router = Arc::new(NexusRouter::new(Some(routes), None, None)); + let router = Arc::new(SensibleRouter::new(Some(routes), None, None)); let rt = Arc::new( tokio::runtime::Builder::new_multi_thread() @@ -1909,7 +1909,7 @@ async fn test_read_continuation_channel_concurrent() { "io_read_concurrent".to_string(), Arc::new(io_read_handler) as Arc<_>, ); - let router = Arc::new(NexusRouter::new(Some(routes), None, None)); + let router = Arc::new(SensibleRouter::new(Some(routes), None, None)); let rt = Arc::new( tokio::runtime::Builder::new_multi_thread() @@ -1997,7 +1997,7 @@ async fn test_parallel_write_requests_no_crash() { let mut write_routes = std::collections::HashSet::new(); write_routes.insert("write_op".to_string()); - let router = Arc::new(NexusRouter::new(Some(routes), None, Some(write_routes))); + let router = Arc::new(SensibleRouter::new(Some(routes), None, Some(write_routes))); let rt = Arc::new( tokio::runtime::Builder::new_multi_thread() @@ -2098,7 +2098,7 @@ async fn test_parallel_write_requests_with_continuations() { let mut write_routes = std::collections::HashSet::new(); write_routes.insert("io_write".to_string()); - let router = Arc::new(NexusRouter::new(Some(routes), None, Some(write_routes))); + let router = Arc::new(SensibleRouter::new(Some(routes), None, Some(write_routes))); let rt = Arc::new( tokio::runtime::Builder::new_multi_thread() @@ -2200,7 +2200,7 @@ async fn test_parallel_writes_maintain_order() { let mut write_routes = std::collections::HashSet::new(); write_routes.insert("order_write".to_string()); - let router = Arc::new(NexusRouter::new(Some(routes), None, Some(write_routes))); + let router = Arc::new(SensibleRouter::new(Some(routes), None, Some(write_routes))); let rt = Arc::new( tokio::runtime::Builder::new_multi_thread() @@ -2304,7 +2304,7 @@ async fn test_write_multiple_continuations_in_sequence() { let mut write_routes = std::collections::HashSet::new(); write_routes.insert("multi_cont".to_string()); - let router = Arc::new(NexusRouter::new(Some(routes), None, Some(write_routes))); + let router = Arc::new(SensibleRouter::new(Some(routes), None, Some(write_routes))); let rt = Arc::new( tokio::runtime::Builder::new_multi_thread() @@ -2414,7 +2414,7 @@ async fn test_mixed_read_write_with_continuations() { let mut write_routes = std::collections::HashSet::new(); write_routes.insert("io_write_mixed".to_string()); - let router = Arc::new(NexusRouter::new(Some(routes), None, Some(write_routes))); + let router = Arc::new(SensibleRouter::new(Some(routes), None, Some(write_routes))); let rt = Arc::new( tokio::runtime::Builder::new_multi_thread() @@ -2535,7 +2535,7 @@ async fn test_stress_parallel_writes_with_continuations() { let mut write_routes = std::collections::HashSet::new(); write_routes.insert("stress_write".to_string()); - let router = Arc::new(NexusRouter::new(Some(routes), None, Some(write_routes))); + let router = Arc::new(SensibleRouter::new(Some(routes), None, Some(write_routes))); let rt = Arc::new( tokio::runtime::Builder::new_multi_thread() diff --git a/sensibledb-db/src/sensibledb_gateway/worker_pool/mod.rs b/sensibledb-db/src/sensibledb_gateway/worker_pool/mod.rs index 5abbea4c..e8b59503 100644 --- a/sensibledb-db/src/sensibledb_gateway/worker_pool/mod.rs +++ b/sensibledb-db/src/sensibledb_gateway/worker_pool/mod.rs @@ -1,8 +1,8 @@ -use crate::sensibledb_engine::{traversal_core::NexusGraphEngine, types::GraphError}; +use crate::sensibledb_engine::{traversal_core::SensibleGraphEngine, types::GraphError}; use crate::sensibledb_gateway::{ gateway::CoreSetter, mcp::mcp::MCPToolInput, - router::router::{ContChan, ContMsg, HandlerInput, NexusRouter}, + router::router::{ContChan, ContMsg, HandlerInput, SensibleRouter}, }; use crate::protocol::{ NexusError, Request, @@ -21,7 +21,7 @@ use tracing::{error, trace}; pub struct WorkerPool { tx: Sender, write_tx: Sender, - router: Arc, + router: Arc, _workers: Vec, _writer_worker: Worker, } @@ -29,8 +29,8 @@ pub struct WorkerPool { impl WorkerPool { pub fn new( workers_core_setter: Arc, - graph_access: Arc, - router: Arc, + graph_access: Arc, + router: Arc, io_rt: Arc, ) -> WorkerPool { let (req_tx, req_rx) = flume::bounded::(1000); @@ -117,8 +117,8 @@ impl Worker { pub fn start( rx: Receiver, core_setter: Arc, - graph_access: Arc, - router: Arc, + graph_access: Arc, + router: Arc, io_rt: Arc, (cont_tx, cont_rx): (ContChan, Receiver), parity: bool, @@ -218,8 +218,8 @@ impl Worker { /// Note: No core pinning for the writer - let the OS scheduler handle it pub fn start_writer( rx: Receiver, - graph_access: Arc, - router: Arc, + graph_access: Arc, + router: Arc, io_rt: Arc, ) -> Worker { let handle = std::thread::spawn(move || { @@ -275,8 +275,8 @@ impl Worker { fn request_mapper( request: Request, ret_chan: RetChan, - graph_access: Arc, - router: &NexusRouter, + graph_access: Arc, + router: &SensibleRouter, io_rt: &Runtime, cont_tx: &ContChan, ) { diff --git a/sensibledb-db/src/sensibledbc/analyzer/README.md b/sensibledb-db/src/sensibledbc/analyzer/README.md index 7164dc5a..49924640 100644 --- a/sensibledb-db/src/sensibledbc/analyzer/README.md +++ b/sensibledb-db/src/sensibledbc/analyzer/README.md @@ -1,7 +1,7 @@ # Analyzer Module ## Overview -The analyzer module performs static analysis and type checking on the NexusQL AST, ensuring queries are grammatically and semantically correct before code generation. +The analyzer module performs static analysis and type checking on the SensibleQL AST, ensuring queries are grammatically and semantically correct before code generation. ## Structure diff --git a/sensibledb-db/src/sensibledbc/analyzer/mod.rs b/sensibledb-db/src/sensibledbc/analyzer/mod.rs index 8fa80b1c..6265c7cb 100644 --- a/sensibledb-db/src/sensibledbc/analyzer/mod.rs +++ b/sensibledb-db/src/sensibledbc/analyzer/mod.rs @@ -1,7 +1,7 @@ // Copyright 2025 SensibleDB Inc. // SPDX-License-Identifier: AGPL-3.0 -//! This is the static analyzer for NexusQL. +//! This is the static analyzer for SensibleQL. //! It type checks the queries for grammatical and semantic correctness. //! The analyzer methods are broken up into separate files within /methods, grouped by general functionality. //! File names should be self-explanatory as to what is included in the file. diff --git a/sensibledb-db/src/sensibledbc/generator/README.md b/sensibledb-db/src/sensibledbc/generator/README.md index 271bca20..10875e63 100644 --- a/sensibledb-db/src/sensibledbc/generator/README.md +++ b/sensibledb-db/src/sensibledbc/generator/README.md @@ -1,7 +1,7 @@ # Generator Module ## Overview -The generator module transforms the validated NexusQL AST into executable Rust code, creating type-safe graph database operations. +The generator module transforms the validated SensibleQL AST into executable Rust code, creating type-safe graph database operations. ## Structure diff --git a/sensibledb-db/src/sensibledbc/generator/mod.rs b/sensibledb-db/src/sensibledbc/generator/mod.rs index 0585bd3b..994bc61c 100644 --- a/sensibledb-db/src/sensibledbc/generator/mod.rs +++ b/sensibledb-db/src/sensibledbc/generator/mod.rs @@ -1,7 +1,7 @@ // Copyright 2025 SensibleDB Inc. // SPDX-License-Identifier: AGPL-3.0 -//! This is the generator for NexusQL. It transforms the AST into Rust code. +//! This is the generator for SensibleQL. It transforms the AST into Rust code. //! The generator methods are broken up into separate files, grouped by general functionality. //! File names should be self-explanatory as to what is included in the file. diff --git a/sensibledb-db/src/sensibledbc/mod.rs b/sensibledb-db/src/sensibledbc/mod.rs index dec74cfb..5a0acddd 100644 --- a/sensibledb-db/src/sensibledbc/mod.rs +++ b/sensibledb-db/src/sensibledbc/mod.rs @@ -1,7 +1,7 @@ // Copyright 2025 SensibleDB Inc. // SPDX-License-Identifier: AGPL-3.0 -//! NexusQL compiler, analyzer, and transpiler. +//! SensibleQL compiler, analyzer, and transpiler. pub mod analyzer; pub mod generator; diff --git a/sensibledb-db/src/sensibledbc/parser/README.md b/sensibledb-db/src/sensibledbc/parser/README.md index cd1756bd..b10640d8 100644 --- a/sensibledb-db/src/sensibledbc/parser/README.md +++ b/sensibledb-db/src/sensibledbc/parser/README.md @@ -1,7 +1,7 @@ # Parser Module ## Overview -The parser module transforms NexusQL source code into an Abstract Syntax Tree (AST) using the Pest parser generator framework. +The parser module transforms SensibleQL source code into an Abstract Syntax Tree (AST) using the Pest parser generator framework. ## Structure diff --git a/sensibledb-db/src/sensibledbc/parser/mod.rs b/sensibledb-db/src/sensibledbc/parser/mod.rs index bbfc4e9f..f7b23fea 100644 --- a/sensibledb-db/src/sensibledbc/parser/mod.rs +++ b/sensibledb-db/src/sensibledbc/parser/mod.rs @@ -1,7 +1,7 @@ // Copyright 2025 SensibleDB Inc. // SPDX-License-Identifier: AGPL-3.0 -//! This is the parser for NexusQL. +//! This is the parser for SensibleQL. //! The parsing methods are broken up into separate files, grouped by general functionality. //! File names should be self-explanatory as to what is included in the file. diff --git a/sensibledb-db/tests/capacity_optimization_benches.rs b/sensibledb-db/tests/capacity_optimization_benches.rs index 769d48ac..87012a53 100644 --- a/sensibledb-db/tests/capacity_optimization_benches.rs +++ b/sensibledb-db/tests/capacity_optimization_benches.rs @@ -10,7 +10,7 @@ mod tests { use sensibledb_db::{ sensibledb_engine::{ bm25::bm25::{BM25, HBM25Config}, - storage_core::{NexusGraphStorage, storage_methods::StorageMethods}, + storage_core::{SensibleGraphStorage, storage_methods::StorageMethods}, traversal_core::{ config::Config, ops::{ @@ -48,17 +48,17 @@ mod tests { bm25.search(txn, query, limit, arena) } - fn setup_test_db(temp_dir: &TempDir) -> Arc { + fn setup_test_db(temp_dir: &TempDir) -> Arc { let db_path = temp_dir.path().to_str().unwrap(); let mut config = Config::default(); config.bm25 = Some(true); - let storage = NexusGraphStorage::new(db_path, config, Default::default()).unwrap(); + let storage = SensibleGraphStorage::new(db_path, config, Default::default()).unwrap(); Arc::new(storage) } - // fn setup_db_with_nodes(count: usize) -> (Arc, TempDir) { + // fn setup_db_with_nodes(count: usize) -> (Arc, TempDir) { // let (storage, temp_dir) = setup_test_db(); // let mut txn = storage.graph_env.write_txn().unwrap(); // let arena = Bump::new(); @@ -137,7 +137,7 @@ mod tests { .prefix_iter(&rtxn, &hub_node.id().to_be_bytes()) .unwrap() .filter_map(|result| match result { - Ok((_, value)) => match NexusGraphStorage::unpack_adj_edge_data(value) { + Ok((_, value)) => match SensibleGraphStorage::unpack_adj_edge_data(value) { Ok((edge_id, to_node)) => { if connected_node_ids.insert(to_node) && let Ok(node) = storage.get_node(&rtxn, &to_node, &arena) @@ -172,7 +172,7 @@ mod tests { .prefix_iter(&rtxn, &hub_node.id().to_be_bytes()) .unwrap() .filter_map(|result| match result { - Ok((_, value)) => match NexusGraphStorage::unpack_adj_edge_data(value) { + Ok((_, value)) => match SensibleGraphStorage::unpack_adj_edge_data(value) { Ok((edge_id, to_node)) => { if connected_node_ids.insert(to_node) && let Ok(node) = storage.get_node(&rtxn, &to_node, &arena) @@ -205,7 +205,7 @@ mod tests { .prefix_iter(&rtxn, &hub_node.id().to_be_bytes()) .unwrap() .filter_map(|result| match result { - Ok((_, value)) => match NexusGraphStorage::unpack_adj_edge_data(value) { + Ok((_, value)) => match SensibleGraphStorage::unpack_adj_edge_data(value) { Ok((edge_id, to_node)) => { if connected_node_ids.insert(to_node) && let Ok(node) = storage.get_node(&rtxn, &to_node, &arena) @@ -240,7 +240,7 @@ mod tests { .prefix_iter(&rtxn, &hub_node.id().to_be_bytes()) .unwrap() .filter_map(|result| match result { - Ok((_, value)) => match NexusGraphStorage::unpack_adj_edge_data(value) { + Ok((_, value)) => match SensibleGraphStorage::unpack_adj_edge_data(value) { Ok((edge_id, to_node)) => { if connected_node_ids.insert(to_node) && let Ok(node) = storage.get_node(&rtxn, &to_node, &arena) diff --git a/sensibledb-macros/src/lib.rs b/sensibledb-macros/src/lib.rs index d21793ba..e9cec00a 100644 --- a/sensibledb-macros/src/lib.rs +++ b/sensibledb-macros/src/lib.rs @@ -371,7 +371,7 @@ pub fn migration(args: TokenStream, item: TokenStream) -> TokenStream { } #[proc_macro_attribute] -pub fn nexus_node(_attr: TokenStream, input: TokenStream) -> TokenStream { +pub fn sensible_node(_attr: TokenStream, input: TokenStream) -> TokenStream { let input = parse_macro_input!(input as ItemStruct); let name = &input.ident; let fields = input.fields.iter();