Skip to content

HeliosDB-Lite Feature Index

HeliosDB-Lite Feature Index

Quick Navigation Guide - Find features by location and category

Directory Structure

src/
├── lib.rs # Main library - EmbeddedDatabase API
├── types.rs # Data types (20+ SQL types)
├── config.rs # Configuration system
├── error.rs # Error types
├── main.rs # CLI entry point
├── sql/ # SQL execution (37 files)
│ ├── parser.rs # SQL parsing
│ ├── planner.rs # Query planning
│ ├── logical_plan.rs # Logical plan structures
│ ├── evaluator.rs # Expression evaluation
│ ├── executor/ # Query execution
│ │ ├── scan.rs # Table scans
│ │ ├── filter.rs # WHERE filtering
│ │ ├── project.rs # SELECT projection
│ │ ├── join.rs # JOIN operations
│ │ ├── aggregate.rs # GROUP BY, aggregates
│ │ ├── ddl.rs # CREATE/DROP operations
│ │ └── phase3.rs # Phase 3 feature execution
│ ├── phase3/ # Phase 3 SQL extensions
│ │ ├── branching.rs # Database branching
│ │ ├── time_travel.rs # AS OF queries
│ │ ├── materialized_views.rs # MV creation
│ │ └── system_views.rs # System view queries
│ ├── explain*.rs # Query explanation (9 files)
│ ├── index_recommender.rs # Index recommendations
│ ├── system_tables.rs # System table definitions
│ ├── system_views.rs # System view registry
│ └── settings.rs # Session settings
├── storage/ # Storage layer (32 files)
│ ├── engine.rs # RocksDB storage engine
│ ├── catalog.rs # Table catalog
│ ├── transaction.rs # Transaction management
│ ├── mvcc.rs # MVCC implementation
│ ├── wal.rs # Write-ahead logging
│ ├── time_travel.rs # Snapshot management
│ ├── branch.rs # Database branching
│ ├── materialized_view.rs # MV catalog
│ ├── mv_*.rs # MV-related modules (6 files)
│ ├── compression/ # Compression codecs (10 files)
│ │ ├── fsst/ # String compression (4 files)
│ │ ├── alp/ # Numeric compression (4 files)
│ │ ├── api.rs # Compression API
│ │ ├── integration.rs # Codec integration
│ │ ├── tuple_compression.rs # Row compression
│ │ └── simd_ops.rs # SIMD operations
│ ├── vector_index.rs # Vector index metadata
│ ├── gin_index.rs # GIN indexes (JSONB)
│ ├── statistics.rs # Column statistics
│ └── stats.rs # Database statistics
├── vector/ # Vector search (13 files)
│ ├── hnsw_index.rs # HNSW indexing
│ ├── quantized_hnsw.rs # Quantized HNSW
│ ├── quantization/ # Vector quantization (8 files)
│ │ ├── product_quantizer.rs # Product quantization
│ │ ├── codebook.rs # Codebook management
│ │ ├── encoder.rs # Vector encoding
│ │ ├── decoder.rs # Vector decoding
│ │ ├── distance.rs # Distance computation
│ │ └── training.rs # Codebook training
│ └── simd/ # SIMD operations
│ ├── distance.rs # SIMD distance
│ └── quantization.rs # SIMD quantization
├── network/ # Network server (5 files)
│ ├── server.rs # PostgreSQL server
│ ├── protocol.rs # Wire protocol
│ ├── session.rs # Session management
│ ├── auth.rs # Authentication
│ └── mod.rs # Network module
├── repl/ # Interactive shell (5 files)
│ ├── shell.rs # REPL shell
│ ├── commands.rs # Meta commands
│ ├── completer.rs # Auto-completion
│ ├── formatter.rs # Result formatting
│ └── mod.rs # REPL module
├── audit/ # Audit logging (5 files)
│ ├── logger.rs # Audit logger
│ ├── events.rs # Audit events
│ ├── config.rs # Audit configuration
│ ├── query.rs # Audit queries
│ └── mod.rs # Audit module
├── crypto/ # Encryption (2 files)
│ ├── key_manager.rs # Key management
│ └── mod.rs # Crypto module
├── optimizer/ # Query optimization
├── compute/ # Computation layer
├── tenant/ # Multi-tenancy support
├── protocol/ # Protocol definitions
├── protocols/ # Protocol adapters
└── sync/ # Sync protocol (experimental)

Feature Location Matrix

Query Execution Features

FeatureLocationStatus
SELECT with projectionsql/executor/project.rsComplete
WHERE filteringsql/executor/filter.rsComplete
GROUP BY / aggregatessql/executor/aggregate.rsComplete
ORDER BY / LIMITsql/executor/aggregate.rsComplete
JOINs (all types)sql/executor/join.rsComplete
INSERTlib.rs:284-381Complete
UPDATElib.rs:670-726Complete
DELETElib.rs:727-777Complete
TRUNCATElib.rs:795-823Complete
CREATE TABLEsql/executor/ddl.rsComplete
DROP TABLEsql/executor/ddl.rsComplete
CREATE INDEXsql/executor/ddl.rsComplete
DROP INDEXsql/executor/ddl.rsComplete
Vector searchsql/executor/scan.rsComplete
Time-travel queriessql/phase3/time_travel.rsComplete
Parameterized querieslib.rs:889-901Complete

Data Types & Structures

FeatureLocationTypes
Numeric typestypes.rsInt2, Int4, Int8, Float4, Float8, Numeric
Text typestypes.rsVarchar, Text, Char
Temporal typestypes.rsDate, Time, Timestamp, Timestamptz, Interval
Structured typestypes.rsJSON, JSONB, Array, Vector
Binary typetypes.rsBytea
Special typestypes.rsUUID, Boolean
NULL handlingtypes.rsValue::Null
Type castingsql/evaluator.rsAuto-cast + explicit CAST

Indexing & Performance

FeatureLocationAlgorithm
Vector search (HNSW)vector/hnsw_index.rsHNSW graphs
Vector quantizationvector/quantization/Product quantization
Quantized HNSWvector/quantized_hnsw.rsPQ + HNSW
GIN index (JSONB)storage/gin_index.rsInverted index
B-tree indexesstorage/catalog.rsRange queries
Statisticsstorage/statistics.rsColumn stats
Index recommendersql/index_recommender.rsCost analysis

Storage & Compression

FeatureLocationTechnology
Storage enginestorage/engine.rsRocksDB LSM-tree
Write-ahead logstorage/wal.rsDurability
Transactionsstorage/transaction.rsACID
MVCCstorage/mvcc.rsSnapshot isolation
FSST compressionstorage/compression/fsst/String compression
ALP compressionstorage/compression/alp/Numeric compression
Compression APIstorage/compression/api.rsPer-column codecs
Tuple compressionstorage/compression/tuple_compression.rsPer-row compression

Self-Maintaining Filter Index (SMFI)

FeatureLocationDescription
Bloom Filtersstorage/bloom_filter.rsProbabilistic membership testing
Zone Mapsstorage/zone_map.rsBlock-level min/max statistics
SIMD Filteringstorage/simd_filter.rsVectorized predicate evaluation
Predicate Pushdownstorage/predicate_pushdown.rsStorage-level filtering
Filter Delta Trackerstorage/filter_index_delta.rsSelf-maintaining DML tracking
Consolidation Workerstorage/filter_consolidation_worker.rsCPU-aware background maintenance
Columnar Zone Summariesstorage/columnar_zone_summary.rsHyperLogLog, MCV, histograms
Speculative Filtersstorage/speculative_filter.rsAuto-created indexes
Parallel Filter Enginestorage/parallel_filter.rsrayon-based parallel filtering

Time-Travel & Versioning

FeatureLocationCapability
AS OF TIMESTAMPsql/phase3/time_travel.rsPoint-in-time queries
AS OF TRANSACTIONsql/phase3/time_travel.rsTransaction-level queries
AS OF SCNsql/phase3/time_travel.rsSystem change numbers
Snapshotsstorage/time_travel.rsMetadata & caching
Garbage collectionstorage/time_travel.rsSnapshot cleanup

Database Management

FeatureLocationCapability
CREATE BRANCHsql/phase3/branching.rsBranch creation
DROP BRANCHsql/phase3/branching.rsBranch deletion
MERGE BRANCHsql/phase3/branching.rsBranch merging
Branch metadatastorage/branch.rsTracking & stats
Conflict resolutionstorage/branch.rsMerge strategies
Catalogstorage/catalog.rsTable metadata
Transactionslib.rs:1201-1478BEGIN/COMMIT/ROLLBACK

Network & Protocol

FeatureLocationProtocol
Server implementationnetwork/server.rsPostgreSQL v3.0
Wire protocolnetwork/protocol.rsAsync Tokio
Session managementnetwork/session.rsPer-connection state
Authenticationnetwork/auth.rsMD5, SCRAM-SHA-256
SSL/TLSnetwork/auth.rsEncrypted connections

System Features

FeatureLocationCapability
Materialized viewsstorage/materialized_view.rsCreate/refresh/drop
MV auto-refreshstorage/mv_auto_refresh.rsScheduled refresh
MV incrementalstorage/mv_incremental.rsDelta-based refresh
MV schedulerstorage/mv_scheduler.rsCPU-aware scheduling
Delta trackingstorage/mv_delta.rsChange tracking
System viewssql/phase3/system_views.rspg_* views
Audit loggingaudit/Tamper-proof logs
Encryption (TDE)crypto/AES-256-GCM

Multi-Tenancy & Security (v3.4)

FeatureLocationCapability
Tenant managementtenant/manager.rsCreate/delete tenants
Tenant contexttenant/context.rsSession tenant binding
Tenant quotastenant/quota.rsStorage/connection limits
Tenant planstenant/plan.rsSubscription tiers
Row-Level Securitysql/rls/Policy-based filtering
RLS policiessql/rls/policy.rsCREATE POLICY execution
CDC eventstenant/cdc.rsChange data capture
Tenant isolationtenant/isolation.rsShared/schema/database

Developer Tools

FeatureLocationCapability
REPL shellrepl/shell.rsInteractive SQL
Meta commandsrepl/commands.rs\d, \branches, etc.
Auto-completionrepl/completer.rsTable/column hints
Result formattingrepl/formatter.rsPretty-printing
EXPLAIN planssql/explain.rsQuery analysis
Index recommendersql/index_recommender.rsSuggestions
Query optimizeroptimizer/Cost-based

Embedded API

FeatureLocationAPI
Database creationlib.rs:411-445new(), new_in_memory()
Configurationconfig.rswith_config()
SQL executionlib.rs:477-547execute(), execute_params()
Queryinglib.rs:1083-1199query(), query_params()
Transactionslib.rs:1201-1478begin(), commit(), rollback()

Feature Dependencies

Core Dependencies

EmbeddedDatabase
├── StorageEngine
│ ├── RocksDB
│ ├── Catalog
│ ├── VectorIndexManager
│ ├── SnapshotManager
│ ├── BranchManager
│ ├── CompressionManager
│ └── WriteAheadLog
├── Executor
│ ├── Parser
│ ├── Planner
│ └── Evaluator
└── Configuration

Vector Search Dependencies

HNSW Index
├── DistanceMetric (Cosine, L2, InnerProduct)
├── SIMD acceleration (AVX2)
└── ProductQuantizer (optional)

Time-Travel Dependencies

AS OF Queries
├── SnapshotManager
│ ├── Snapshot metadata
│ ├── LRU cache
│ └── GC configuration
└── MVCC isolation

Materialized View Dependencies

Materialized Views
├── Storage engine
├── MV scheduler
│ ├── CPU monitor
│ └── Priority queue
├── Delta tracker
├── Incremental refresher
└── System views

SMFI Dependencies

Self-Maintaining Filter Index
├── Filter Delta Tracker
│ ├── Bloom filter deltas
│ ├── Zone map deltas
│ └── Delta sequence
├── Consolidation Worker
│ ├── CPU monitor (shared with MV)
│ └── Background thread
├── Speculative Filter Manager
│ ├── Query pattern tracker
│ └── Filter lifecycle
├── Parallel Filter Engine
│ ├── rayon thread pool
│ └── Adaptive chunking
└── Storage-persisted structures
├── RocksDB bloom keys
└── RocksDB zone keys

Module Interaction Diagram

lib.rs (EmbeddedDatabase)
sql/ (Query processing)
├→ Parser → Planner → Executor
├→ phase3/ (Branching, Time-travel, MVs)
└→ explain/ (Query analysis)
storage/ (Data storage)
├→ StorageEngine (RocksDB)
├→ Catalog (Metadata)
├→ Transaction (ACID)
├→ MVCC (Isolation)
├→ compression/ (Codecs)
├→ time_travel/ (Snapshots)
├→ branch/ (Branching)
├→ materialized_view/ (MVs)
└→ smfi/ (Self-Maintaining Filters)
├→ bloom_filter (Membership)
├→ zone_map (Block stats)
├→ simd_filter (Vectorized)
├→ filter_index_delta (DML tracking)
├→ speculative_filter (Auto-create)
└→ parallel_filter (Parallel eval)
vector/ (Indexing)
├→ HNSW index
└→ Quantization
network/ (Server)
├→ Server (Async)
├→ Protocol (PostgreSQL)
├→ Session (State)
└→ Auth (Security)
repl/ (Tools)
├→ Shell (Interactive)
├→ Commands (Meta)
└→ Formatter (Output)
audit/ (Logging)
└→ Logger (Events)
crypto/ (Security)
└→ KeyManager (Encryption)

Code Complexity Guide

Simple Modules (Read First)

  • types.rs - Data type definitions
  • config.rs - Configuration
  • error.rs - Error handling
  • repl/formatter.rs - Output formatting

Medium Complexity

  • sql/parser.rs - SQL parsing
  • sql/logical_plan.rs - Plan structures
  • sql/evaluator.rs - Expression evaluation
  • storage/catalog.rs - Metadata management

High Complexity

  • sql/executor/mod.rs - Query execution engine
  • storage/engine.rs - Storage engine
  • storage/time_travel.rs - Snapshot management
  • storage/branch.rs - Branching implementation

Very High Complexity

  • sql/phase3/branching.rs - Branch merging logic
  • storage/mv_scheduler.rs - MV scheduling
  • vector/quantization/ - PQ training
  • network/server.rs - Async networking

Key File Sizes

src/lib.rs 1478 lines Core API
src/config.rs 520 lines Configuration
src/types.rs 415 lines Data types
src/error.rs 200 lines Errors
sql/
parser.rs 450 lines
logical_plan.rs 500 lines
planner.rs 600 lines
evaluator.rs 700 lines
executor/mod.rs 300 lines
executor/scan.rs 400 lines
storage/
engine.rs 600 lines
catalog.rs 500 lines
compression/ ~2000 lines
time_travel.rs 400 lines
branch.rs 500 lines
vector/
hnsw_index.rs 400 lines
quantization/ ~1500 lines
network/
server.rs 400 lines
protocol.rs 300 lines
repl/
shell.rs 300 lines

How to Navigate

  1. Want to understand SQL execution?

    • Start: src/sql/parser.rsplanner.rsexecutor/mod.rs
    • Details: sql/executor/* (scan, filter, project, etc.)
  2. Want to understand storage?

    • Start: src/storage/engine.rscatalog.rs
    • Details: storage/compression/, mvcc.rs, wal.rs
  3. Want to understand vector search?

    • Start: src/vector/hnsw_index.rs
    • Details: vector/quantization/, vector/simd/
  4. Want to understand time-travel?

    • Start: src/storage/time_travel.rs
    • Details: sql/phase3/time_travel.rs, sql/executor/phase3.rs
  5. Want to understand branching?

    • Start: src/storage/branch.rs
    • Details: sql/phase3/branching.rs, sql/executor/phase3.rs
  6. Want to understand materialized views?

    • Start: src/storage/materialized_view.rs
    • Details: storage/mv_*.rs, sql/phase3/materialized_views.rs
  7. Want to understand SMFI (storage-level filtering)?

    • Start: src/storage/bloom_filter.rs, src/storage/zone_map.rs
    • Delta tracking: storage/filter_index_delta.rs
    • Auto-filters: storage/speculative_filter.rs
    • Parallel: storage/parallel_filter.rs
  8. Want to understand the API?

    • Start: src/lib.rs (lines 107-1478)
    • Examples: examples/ directory
  9. Want to understand multi-tenancy?

    • Start: src/tenant/manager.rs
    • Details: tenant/context.rs, tenant/quota.rs, tenant/cdc.rs
    • RLS: sql/rls/ directory
  10. Want to understand Row-Level Security?

    • Start: src/sql/rls/policy.rs
    • System views: pg_rls_policies() in sql/phase3/system_views.rs

Total Codebase: ~56,000 lines of Rust Module Count: 80+ files Feature Count: 160+ Version: v3.4.0 (December 2025)