[[bench]]
name = "adjlist_benchmark"
path = "benches/adjlist_benchmark.rs"
[[bench]]
name = "bench_utils"
path = "benches/bench_utils.rs"
[[bench]]
harness = false
name = "bfs"
path = "benches/bfs.rs"
[[bench]]
name = "comparative_benchmark"
path = "benches/comparative_benchmark.rs"
[[bench]]
harness = false
name = "hnsw"
path = "benches/hnsw.rs"
[[bench]]
harness = false
name = "insert"
path = "benches/insert.rs"
[[bench]]
harness = false
name = "k_hop"
path = "benches/k_hop.rs"
[[bench]]
name = "native_disk_io"
path = "benches/native_disk_io.rs"
[[bench]]
name = "v2_dataset_generator"
path = "benches/v2_dataset_generator.rs"
[[bench]]
name = "v2_performance"
path = "benches/v2_performance.rs"
[dependencies.ahash]
version = "0.8"
[dependencies.arc-swap]
version = "1"
[dependencies.bincode]
version = "1.3"
[dependencies.binrw]
version = "0.13"
[dependencies.bytemuck]
features = ["derive"]
version = "1.13"
[dependencies.log]
version = "0.4"
[dependencies.memmap2]
version = "0.9"
[dependencies.parking_lot]
version = "0.12"
[dependencies.rand]
version = "0.8"
[dependencies.rusqlite]
features = ["bundled"]
version = "0.31"
[dependencies.serde]
features = ["derive"]
version = "1"
[dependencies.serde_json]
version = "1"
[dependencies.thiserror]
version = "1"
[dev-dependencies.assert_cmd]
version = "2"
[dev-dependencies.criterion]
features = ["html_reports"]
version = "0.5"
[dev-dependencies.rand]
version = "0.8"
[dev-dependencies.tempfile]
version = "3"
[[example]]
name = "basic_functionality_test"
path = "examples/basic_functionality_test.rs"
[[example]]
name = "crash_test_child"
path = "examples/crash_test_child.rs"
[[example]]
name = "debug_buffer_error"
path = "examples/debug_buffer_error.rs"
[[example]]
name = "native_v2_test"
path = "examples/native_v2_test.rs"
[[example]]
name = "phase53_1_execution"
path = "examples/phase53_1_execution.rs"
[[example]]
name = "phase55_simple_benchmark"
path = "examples/phase55_simple_benchmark.rs"
[[example]]
name = "phase55_v2_performance_characterization"
path = "examples/phase55_v2_performance_characterization.rs"
[[example]]
name = "phase76_instrumentation_test"
path = "examples/phase76_instrumentation_test.rs"
[[example]]
name = "test_native_edge"
path = "examples/test_native_edge.rs"
[features]
bench-ci = []
default = ["sqlite-backend"]
native-v2 = ["v2_io_exclusive_std"]
sqlite-backend = []
trace_v2_io = []
v2_experimental = ["native-v2"]
v2_io_exclusive_mmap = []
v2_io_exclusive_std = []
[lib]
name = "sqlitegraph"
path = "src/lib.rs"
[package]
autobenches = false
autobins = false
autoexamples = false
autolib = false
autotests = false
build = false
categories = ["database", "data-structures"]
description = "Deterministic, embedded graph database with SQLite and Native V2 backends"
documentation = "https://docs.rs/sqlitegraph"
edition = "2024"
keywords = ["graph", "database", "sqlite", "embedded"]
license = "GPL-3.0-or-later"
name = "sqlitegraph"
readme = "README.md"
repository = "https://github.com/oldnordic/sqlitegraph"
version = "0.2.10"
[[test]]
name = "adjacency_iterator_infinite_loop_test"
path = "tests/adjacency_iterator_infinite_loop_test.rs"
[[test]]
name = "algo_tests"
path = "tests/algo_tests.rs"
[[test]]
name = "backend_selector_tests"
path = "tests/backend_selector_tests.rs"
[[test]]
name = "bench_data_tests"
path = "tests/bench_data_tests.rs"
[[test]]
name = "bench_gate_tests"
path = "tests/bench_gate_tests.rs"
[[test]]
name = "bench_gates_tests"
path = "tests/bench_gates_tests.rs"
[[test]]
name = "bench_meta_tests"
path = "tests/bench_meta_tests.rs"
[[test]]
name = "bench_report_tests"
path = "tests/bench_report_tests.rs"
[[test]]
name = "benchmark_isolation_test"
path = "tests/benchmark_isolation_test.rs"
[[test]]
name = "bfs_tests"
path = "tests/bfs_tests.rs"
[[test]]
name = "cache_tests"
path = "tests/cache_tests.rs"
[[test]]
name = "cluster_collision_fix_validation"
path = "tests/cluster_collision_fix_validation.rs"
[[test]]
name = "cluster_offset_corruption_regression"
path = "tests/cluster_offset_corruption_regression.rs"
[[test]]
name = "debug_index_rebuilding"
path = "tests/debug_index_rebuilding.rs"
[[test]]
name = "debug_index_rebuilding_trigger"
path = "tests/debug_index_rebuilding_trigger.rs"
[[test]]
name = "deterministic_index_tests"
path = "tests/deterministic_index_tests.rs"
[[test]]
name = "direct_file_read_corruption_test"
path = "tests/direct_file_read_corruption_test.rs"
[[test]]
name = "direct_rebuild_trigger"
path = "tests/direct_rebuild_trigger.rs"
[[test]]
name = "direct_v2_parsing_test"
path = "tests/direct_v2_parsing_test.rs"
[[test]]
name = "doc_tests"
path = "tests/doc_tests.rs"
[[test]]
name = "edge_insertion_corruption_test"
path = "tests/edge_insertion_corruption_test.rs"
[[test]]
name = "edge_tests"
path = "tests/edge_tests.rs"
[[test]]
name = "entity_tests"
path = "tests/entity_tests.rs"
[[test]]
name = "examples_tests"
path = "tests/examples_tests.rs"
[[test]]
name = "fuzz_common"
path = "tests/fuzz_common.rs"
[[test]]
name = "graph_node_existence_enforcement"
path = "tests/graph_node_existence_enforcement.rs"
[[test]]
name = "graph_opt_tests"
path = "tests/graph_opt_tests.rs"
[[test]]
name = "graphfile_io_invariant_regression_tests"
path = "tests/graphfile_io_invariant_regression_tests.rs"
[[test]]
name = "header_debug_trace_test"
path = "tests/header_debug_trace_test.rs"
[[test]]
name = "header_decode_exact_80_bytes_panic"
path = "tests/header_decode_exact_80_bytes_panic.rs"
[[test]]
name = "header_decode_oob_regression_tests"
path = "tests/header_decode_oob_regression_tests.rs"
[[test]]
name = "header_edge_case_tests"
path = "tests/header_edge_case_tests.rs"
[[test]]
name = "header_region_lockdown_tests"
path = "tests/header_region_lockdown_tests.rs"
[[test]]
name = "index_tests"
path = "tests/index_tests.rs"
[[test]]
name = "instrumentation_tests"
path = "tests/instrumentation_tests.rs"
[[test]]
name = "integration_tests"
path = "tests/integration_tests.rs"
[[test]]
name = "json_parsing_diagnostics"
path = "tests/json_parsing_diagnostics.rs"
[[test]]
name = "lib_api_smoke_tests"
path = "tests/lib_api_smoke_tests.rs"
[[test]]
name = "multi_hop_tests"
path = "tests/multi_hop_tests.rs"
[[test]]
name = "multi_node_corruption_regression"
path = "tests/multi_node_corruption_regression.rs"
[[test]]
name = "mvcc_snapshot_tests"
path = "tests/mvcc_snapshot_tests.rs"
[[test]]
name = "native_backend_isolation_tests"
path = "tests/native_backend_isolation_tests.rs"
[[test]]
name = "native_edge_insertion_regression"
path = "tests/native_edge_insertion_regression.rs"
[[test]]
name = "native_v2_edge_boundary_tests"
path = "tests/native_v2_edge_boundary_tests.rs"
[[test]]
name = "native_v2_perf_threshold_tests"
path = "tests/native_v2_perf_threshold_tests.rs"
[[test]]
name = "native_validation_regression_tests"
path = "tests/native_validation_regression_tests.rs"
[[test]]
name = "node_slot_transaction_persistence"
path = "tests/node_slot_transaction_persistence.rs"
[[test]]
name = "pattern_cache_fastpath_tests"
path = "tests/pattern_cache_fastpath_tests.rs"
[[test]]
name = "pattern_engine_tests"
path = "tests/pattern_engine_tests.rs"
[[test]]
name = "pattern_tests"
path = "tests/pattern_tests.rs"
[[test]]
name = "perf_gate_tests"
path = "tests/perf_gate_tests.rs"
[[test]]
name = "phase30_v2_record_boundary_tests"
path = "tests/phase30_v2_record_boundary_tests.rs"
[[test]]
name = "phase31_3_cluster_neighbor_id_tests"
path = "tests/phase31_3_cluster_neighbor_id_tests.rs"
[[test]]
name = "phase31_v2_default_takeover_tests_clean"
path = "tests/phase31_v2_default_takeover_tests_clean.rs"
[[test]]
name = "phase32_cluster_pipeline_reconstruction_tests_clean"
path = "tests/phase32_cluster_pipeline_reconstruction_tests_clean.rs"
[[test]]
name = "phase35_v2_adjacency_router_rewrite_tests"
path = "tests/phase35_v2_adjacency_router_rewrite_tests.rs"
[[test]]
name = "phase38_graphfile_io_tests"
path = "tests/phase38_graphfile_io_tests.rs"
[[test]]
name = "phase40_mmap_lifecycle_tests"
path = "tests/phase40_mmap_lifecycle_tests.rs"
[[test]]
name = "phase41_mixed_io_corruption_isolation_tests"
path = "tests/phase41_mixed_io_corruption_isolation_tests.rs"
[[test]]
name = "phase42_cluster_allocation_invariants_tests"
path = "tests/phase42_cluster_allocation_invariants_tests.rs"
[[test]]
name = "phase44_2_cluster_size_contract_tests"
path = "tests/phase44_2_cluster_size_contract_tests.rs"
[[test]]
name = "phase64_node_count_durability_regression"
path = "tests/phase64_node_count_durability_regression.rs"
[[test]]
name = "phase65_cluster_size_corruption_regression"
path = "tests/phase65_cluster_size_corruption_regression.rs"
[[test]]
name = "phase66_v2_cluster_metadata_corruption_regression"
path = "tests/phase66_v2_cluster_metadata_corruption_regression.rs"
[[test]]
name = "phase68_cursor_remainder_tests"
path = "tests/phase68_cursor_remainder_tests.rs"
[[test]]
name = "phase69_cluster_payload_integrity_tests"
path = "tests/phase69_cluster_payload_integrity_tests.rs"
[[test]]
name = "phase70_v2_atomic_cluster_commit_tests"
path = "tests/phase70_v2_atomic_cluster_commit_tests.rs"
[[test]]
name = "phase73_node_count_corruption_capture"
path = "tests/phase73_node_count_corruption_capture.rs"
[[test]]
name = "phase75_tx_rollback_clears_v2_cluster_metadata"
path = "tests/phase75_tx_rollback_clears_v2_cluster_metadata.rs"
[[test]]
name = "query_cache_performance_tests"
path = "tests/query_cache_performance_tests.rs"
[[test]]
name = "query_cache_tests"
path = "tests/query_cache_tests.rs"
[[test]]
name = "query_tests"
path = "tests/query_tests.rs"
[[test]]
name = "recovery_tests"
path = "tests/recovery_tests.rs"
[[test]]
name = "reopen_integration_test"
path = "tests/reopen_integration_test.rs"
[[test]]
name = "rowid_tests"
path = "tests/rowid_tests.rs"
[[test]]
name = "schema_tests"
path = "tests/schema_tests.rs"
[[test]]
name = "simple_rebuild_trigger"
path = "tests/simple_rebuild_trigger.rs"
[[test]]
name = "snapshot_export_import_integration_tests"
path = "tests/snapshot_export_import_integration_tests.rs"
[[test]]
name = "snapshot_export_import_tdd_tests"
path = "tests/snapshot_export_import_tdd_tests.rs"
[[test]]
name = "test_bounds_checking"
path = "tests/test_bounds_checking.rs"
[[test]]
name = "transaction_begin_corruption_proof"
path = "tests/transaction_begin_corruption_proof.rs"
[[test]]
name = "v1_prevention_compilation_tests"
path = "tests/v1_prevention_compilation_tests.rs"
[[test]]
name = "v2_bfs_style_node_uninitialized_regression"
path = "tests/v2_bfs_style_node_uninitialized_regression.rs"
[[test]]
name = "v2_cluster_allocation_regression"
path = "tests/v2_cluster_allocation_regression.rs"
[[test]]
name = "v2_cluster_record_framing_regression"
path = "tests/v2_cluster_record_framing_regression.rs"
[[test]]
name = "v2_crash_simulation"
path = "tests/v2_crash_simulation.rs"
[[test]]
name = "v2_disk_corruption_probe"
path = "tests/v2_disk_corruption_probe.rs"
[[test]]
name = "v2_edge_cluster_corruption_regression"
path = "tests/v2_edge_cluster_corruption_regression.rs"
[[test]]
name = "v2_edge_insertion_corruption_regression"
path = "tests/v2_edge_insertion_corruption_regression.rs"
[[test]]
name = "v2_export_import_tdd_tests"
path = "tests/v2_export_import_tdd_tests.rs"
[[test]]
name = "v2_graph_ops_smoke"
path = "tests/v2_graph_ops_smoke.rs"
[[test]]
name = "v2_header_free_space_invariant_regression"
path = "tests/v2_header_free_space_invariant_regression.rs"
[[test]]
name = "v2_header_free_space_invariant_reproducer"
path = "tests/v2_header_free_space_invariant_reproducer.rs"
[[test]]
name = "v2_incoming_cluster_corruption_regression"
path = "tests/v2_incoming_cluster_corruption_regression.rs"
[[test]]
name = "v2_node_257_boundary_regression"
path = "tests/v2_node_257_boundary_regression.rs"
[[test]]
name = "v2_node_cluster_region_collision_regression"
path = "tests/v2_node_cluster_region_collision_regression.rs"
[[test]]
name = "v2_node_slot_persistence_regression"
path = "tests/v2_node_slot_persistence_regression.rs"
[[test]]
name = "v2_node_version_regression_test"
path = "tests/v2_node_version_regression_test.rs"
[[test]]
name = "v2_perf_gate_tests"
path = "tests/v2_perf_gate_tests.rs"
[[test]]
name = "v2_performance_validation"
path = "tests/v2_performance_validation.rs"
[[test]]
name = "v2_read_after_reopen_regression"
path = "tests/v2_read_after_reopen_regression.rs"
[[test]]
name = "v2_stress_integrity"
path = "tests/v2_stress_integrity.rs"
[[test]]
name = "v2_stress_reopen_test"
path = "tests/v2_stress_reopen_test.rs"
[[test]]
name = "v2_wal_recovery_integration_tests"
path = "tests/v2_wal_recovery_integration_tests.rs"
[[test]]
name = "wal_basic_compilation_test"
path = "tests/wal_basic_compilation_test.rs"
[[test]]
name = "wal_checkpoint_recovery_tests"
path = "tests/wal_checkpoint_recovery_tests.rs"
[[test]]
name = "wal_core_tests"
path = "tests/wal_core_tests.rs"
[[test]]
name = "wal_mode_default_tests"
path = "tests/wal_mode_default_tests.rs"
[[test]]
name = "wal_reader_tests"
path = "tests/wal_reader_tests.rs"
[[test]]
name = "wal_record_tests"
path = "tests/wal_record_tests.rs"
[[test]]
name = "wal_tuning_tests"
path = "tests/wal_tuning_tests.rs"
[[test]]
name = "wal_writer_tests"
path = "tests/wal_writer_tests.rs"
[[test]]
name = "write_buffer_coherence_regression"
path = "tests/write_buffer_coherence_regression.rs"