HeliosDB Nano Feature Index
Canonical feature × tutorial coverage map. Every available feature has an entry here with a short description and a link to a hands-on tutorial or quick reference.
For the release history, see the changelog.
The Coverage column rates how thoroughly each feature is documented:
- 5/5: long-form tutorial plus quick reference
- 4/5: tutorial, or several references with code examples
- 3/5: reference page with examples
- 2/5: brief mention in the release notes or README
- 1/5: mentioned only in the changelog
SQL / DML / Query Execution
| Feature | Summary | Coverage | Doc |
|---|---|---|---|
| Full SQL Core | JOINs, CTEs, subqueries, set ops, aggregates, CASE | 4/5 | SQL_REFERENCE |
| Aggregate expressions | SUM(a)+SUM(b), CAST(AVG()), CASE on COUNT | 3/5 | SQL_FEATURES |
| Window functions | Full SQL:2003 frame spec | 3/5 | WINDOW_FUNCTIONS_QUICKREF |
| Common table expressions | WITH RECURSIVE depth control | 3/5 | SQL_FEATURES |
| Subqueries | Scalar, derived, IN/EXISTS | 3/5 | SQL_FEATURES |
String concatenation || | NULL propagation, auto-cast | 2/5 | CHANGELOG |
| EXTRACT / date functions | EPOCH, YEAR, MONTH, etc. | 3/5 | release notes |
| INSERT … SELECT | FK/trigger/RLS-aware bulk insert | 3/5 | SQL_FEATURES |
| ON CONFLICT (Upsert) | DO UPDATE SET … EXCLUDED + MySQL ON DUPLICATE KEY | 3/5 | UPSERT_QUICKREF |
| Parameterized LIMIT/OFFSET | LIMIT $1 OFFSET $2 with type coercion | 3/5 | release notes |
| Keyset pagination | Constant-time deep pagination (~30 µs) | 5/5 | KEYSET_PAGINATION_QUICKREF, release notes |
| Top-K sort optimization | LIMIT-driven early termination, O(N log k) | 3/5 | release notes |
| Generate_series / unnest | Table-valued functions | 2/5 | CHANGELOG |
| EXPLAIN / cost planner | JSON/XML/YAML output, ANALYZE | 4/5 | EXPLAIN_AND_OPTIMIZATION |
| Implicit comma-joins | FROM t1, t2 WHERE … (WordPress compat) | 2/5 | CHANGELOG |
| Recursive CTEs | Depth-limited graph traversal in SQL | 3/5 | SQL_FEATURES |
gen_random_uuid / uuid_generate_v4 | UUID generation | 2/5 | release notes |
DDL / Schema
| Feature | Summary | Coverage | Doc |
|---|---|---|---|
| CREATE TABLE | All constraints + DEFAULT expressions + CHECK | 4/5 | SQL_REFERENCE |
| PRIMARY KEY (inline + table) | Both syntaxes | 3/5 | primary-keys |
| Foreign keys | CASCADE, SET NULL, RESTRICT | 4/5 | foreign-keys |
| UNIQUE constraints | Per-column + multi-column; ON CONFLICT detection | 3/5 | SQL_FEATURES |
| CHECK constraints | Expression-based row validation | 3/5 | SQL_FEATURES |
| GENERATED ALWAYS AS IDENTITY | SQL:2016 identity columns | 3/5 | release notes |
| SERIAL / BIGSERIAL / AUTO_INCREMENT | PG + MySQL alias | 3/5 | SQL_REFERENCE |
| DEFAULT expressions | DEFAULT now(), DEFAULT CURRENT_USER | 3/5 | CHANGELOG |
| ALTER TABLE | Multiple ops in single stmt | 3/5 | SQL_REFERENCE |
| CREATE INDEX | B-tree, ART, HNSW, GIN | 4/5 | vector-search, STORAGE_FILTERING |
| CREATE SEQUENCE / nextval | Process-scoped sequence store | 3/5 | release notes |
| CREATE EXTENSION hdb_code | Code-graph bootstrap (opt-in) | 3/5 | CODE_GRAPH_TUTORIAL |
| CREATE SEMANTIC HASH INDEX | Merkle-tree subtree invalidation | 3/5 | SEMANTIC_HASH_INDEX_QUICKREF |
| TRUNCATE | Fast clear with ART purge | 3/5 | SQL_FEATURES |
| Per-column storage modes | Dictionary / Content-Addressed / Columnar | 4/5 | per-column-storage |
Indexing & Search
| Feature | Summary | Coverage | Doc |
|---|---|---|---|
| Adaptive Radix Tree (ART) | Zero-copy PK lookups, O(k) | 3/5 | PRODUCT_QUANTIZATION_IMPLEMENTATION |
| HNSW vector search | Native k-NN, about 16x (internal tests, Nano 3.32.1 vs unquantized HNSW, see benchmarks) PQ | 5/5 | VECTOR_SEARCH_TUTORIAL |
| BM25 full-text search | tsvector / tsquery / @@ / ts_rank_cd | 4/5 | FULL_TEXT_SEARCH |
| Hybrid search | BM25 + vector via RRF/MMR | 4/5 | FULL_TEXT_SEARCH |
| GIN indexes (FTS) | ORM/migration compat (no-op currently) | 2/5 | release notes |
| SIMD predicate pushdown | Storage-level filtering via bloom/zone-map/SIMD | 3/5 | STORAGE_FILTERING |
| Centrality-biased HNSW | Post-rerank with centrality weighting | 3/5 | release notes |
| UUID literal coercion | PK lookup with UUID columns | 3/5 | release notes |
Transactions / Concurrency / MVCC
| Feature | Summary | Coverage | Doc |
|---|---|---|---|
| ACID transactions | Snapshot isolation, all-or-nothing | 4/5 | SQL_REFERENCE |
| Explicit transactions | BEGIN / COMMIT / ROLLBACK | 3/5 | SQL_REFERENCE |
| Savepoints | Nested rollback boundaries | 3/5 | SQL_FEATURES |
| MVCC | Snapshot iso, read-your-writes | 4/5 | ../architecture/multi_user_transactions.md |
Optimistic conflict detection (sync-experimental build) | Vector clocks, field-level merge | 2/5 | CHANGELOG |
Time-Travel / Branching
| Feature | Summary | Coverage | Doc |
|---|---|---|---|
| Git-like branches | COW isolation for dev/test/A-B | 5/5 | branching and time-travel tutorial, branching |
| Selective branch sync | Replicate specific branches to remotes | 3/5 | release notes |
| AS OF TIMESTAMP | Query historical snapshots | 5/5 | time-travel, branching and time-travel tutorial |
| AS OF TRANSACTION | Query by txn ID | 4/5 | time-travel |
| MERGE BRANCH / DROP BRANCH | Branch lifecycle | 4/5 | branching |
| ON BRANCH override | Per-call branch redirect (MCP/LSP) | 3/5 | release notes |
Encryption / Security / Compliance
| Feature | Summary | Coverage | Doc |
|---|---|---|---|
| AES-256-GCM TDE | Database-level transparent encryption | 5/5 | ENCRYPTION_TUTORIAL, ENCRYPTION |
| FIPS 140-3 (feature flag) | AWS-LC FIPS provider, Cert #4816 | 4/5 | FIPS_COMPLIANCE_TUTORIAL |
| SCRAM-SHA-256 auth | PG-standard password hashing | 3/5 | SCRAM_SHA256_AUTHENTICATION |
| TLS / SSL | Encrypted wire (PG + MySQL) | 3/5 | POSTGRESQL_SSL_QUICK_REFERENCE |
| Row-Level Security (RLS) | Per-tenant isolation via policies (embedded API and REPL; SQL CREATE POLICY and wire/REST enforcement planned) | 4/5 | RLS_POLICY_MANAGEMENT_TUTORIAL, rls |
| JWT sessions | Stateless auth | 3/5 | JWT_AUTH_QUICK_REFERENCE |
| OAuth2 (Google/GitHub) | PKCE, auto user creation | 4/5 | AUTH_AND_OAUTH |
| Audit logging | Tamper-proof SHA-256 chain | 5/5 | AUDIT_LOGGING_TUTORIAL, AUDIT_LOGGING |
| Argon2id KDF | Memory-hard password hashing | 3/5 | ENCRYPTION_TUTORIAL |
Stored Procedures / Triggers / Functions
| Feature | Summary | Coverage | Doc |
|---|---|---|---|
| PL/pgSQL functions and procedures | SQL statements, SELECT INTO, RETURN; control flow (IF / LOOP / WHILE / FOR / RAISE) planned | 3/5 | procedural-language |
| Triggers | Accepted; bodies run only for BEFORE-row NEW.col = expr assignments (full trigger bodies planned) | 4/5 | triggers, TRIGGER_EXECUTION_QUICK_REFERENCE |
| Scalar functions | 100+ built-in | 4/5 | SQL_REFERENCE |
| Aggregate functions | COUNT, SUM, AVG, MIN, MAX, STDDEV | 4/5 | SQL_REFERENCE |
| User-defined functions | Composite types via JSON | 3/5 | SQL_REFERENCE |
JSON / JSONB
| Feature | Summary | Coverage | Doc |
|---|---|---|---|
| JSONB type | Schemaless docs | 4/5 | SQL_REFERENCE |
| JSONB operators | ->, ->>, @>, ?, #- | 4/5 | SQL_REFERENCE |
| JSON path queries | Nested navigation | 3/5 | SQL_REFERENCE |
| json_agg | JSON array aggregation | 3/5 | CHANGELOG |
Backend-as-a-Service (BaaS)
| Feature | Summary | Coverage | Doc |
|---|---|---|---|
| REST API (PostgREST-style) | eq, neq, gt, gte, lt, lte, like, ilike, is, in plus not. on /rest/v1/{table} (the table routes are a known issue in the current release; more operators planned) | 5/5 | BAAS_REST_API_TUTORIAL |
| Auth signup/token | /auth/v1/signup, /auth/v1/token | 4/5 | AUTH_AND_OAUTH |
| OAuth2 Google/GitHub | PKCE flow | 4/5 | AUTH_AND_OAUTH |
| RLS on REST (planned) | JWT-based row-level security for REST requests | 3/5 | BAAS_REST_API_TUTORIAL |
| Realtime WebSocket | Phoenix-protocol channels. Known issue: realtime events are not delivered in the current release; tracked by the Nano team | 5/5 | REALTIME_WEBSOCKET |
| ChangeNotifier | Event broadcast for REST table writes | 2/5 | CHANGELOG |
| Swagger UI | Auto-generated /docs | 3/5 | SWAGGER_UI_QUICKSTART |
Protocol Compatibility
| Feature | Summary | Coverage | Doc |
|---|---|---|---|
| PostgreSQL Wire v3 | psql, libpq, psycopg2, pg, JDBC | 5/5 | POSTGRESQL_WIRE_PROTOCOL |
| PG Extended Query | Parse / Bind / Execute / Describe | 3/5 | PARAMETERIZED_QUERIES |
| MySQL Wire v10 | mysql, JDBC, mysql2, mysqli, WordPress | 5/5 | MYSQL_WIRE |
| MySQL Prepared Stmts | $N substitution, COM_STMT_PREPARE | 3/5 | MYSQL_WIRE |
| Unix Domain Sockets | Zero-TCP for same-host | 4/5 | UNIX_SOCKETS_QUICKSTART |
Flush message (H) | Pipelined queries | 2/5 | CHANGELOG |
| Multi-statement queries | ;-separated stmts | 3/5 | release notes |
| MySQL SHOW commands | SHOW TABLES/COLUMNS/INDEX | 3/5 | CHANGELOG |
| MySQL date/time functions | DATE_FORMAT, DATE_ADD, UNIX_TIMESTAMP | 3/5 | CHANGELOG |
| MySQL identifier quoting | Backtick / double-quote / case-folding | 3/5 | release notes |
heliosdb_capability_report() | Migration tool discovery | 3/5 | release notes |
Materialized Views
| Feature | Summary | Coverage | Doc |
|---|---|---|---|
| MV creation | Persistent query results | 5/5 | MATERIALIZED_VIEWS_TUTORIAL |
| Refresh MV | Full recompute | 4/5 | materialized-views |
| Incremental MV | Delta computation | 4/5 | INCREMENTAL_MATERIALIZED_VIEWS |
| Concurrent MV refresh | Multi-MV in parallel | 3/5 | CONCURRENT_MV_REFRESH_QUICK_REF |
| MV scheduler | CPU-aware auto refresh | 3/5 | MATERIALIZED_VIEWS_TUTORIAL |
| MV dependency tracking | Cascading invalidation | 3/5 | INCREMENTAL_MATERIALIZED_VIEWS |
Code-Graph (opt-in --features code-graph)
| Feature | Summary | Coverage | Doc |
|---|---|---|---|
| Code-graph bootstrap | Tree-sitter AST for 8 languages | 4/5 | CODE_GRAPH_TUTORIAL |
| Symbol extraction | Functions, classes, methods, types | 3/5 | CODE_GRAPH_TUTORIAL |
| Reference resolution | Cross-file linking (exact/heuristic) | 3/5 | release notes |
lsp_definition | ”Where is X defined?“ | 4/5 | CODE_GRAPH_TUTORIAL |
lsp_references | ”Who uses X?“ | 4/5 | CODE_GRAPH_TUTORIAL |
lsp_call_hierarchy | BFS over CALLS edges | 4/5 | CODE_GRAPH_TUTORIAL |
lsp_hover | Signature lookup | 3/5 | CODE_GRAPH_TUTORIAL |
lsp_document_symbols | File outline | 3/5 | release notes |
lsp_rename_preview/apply | Identifier-boundary write-back | 3/5 | release notes |
| Symbol embeddings | body_vec VECTOR(n) lazy column | 3/5 | CODE_GRAPH_TUTORIAL |
| Pluggable embedders | NoopEmbedder + HttpEmbedder | 3/5 | CODE_GRAPH_TUTORIAL |
code-embed feature | fastembed-rs (BGESmallENV15, 384-dim) | 3/5 | CODE_GRAPH_TUTORIAL |
| Runtime grammar registry | Dynamic grammar loading | 2/5 | CHANGELOG |
| Pluggable extractors | Per-language runtime registration | 2/5 | CHANGELOG |
| Semantic Hash Index | Merkle-tree subtree invalidation | 3/5 | SEMANTIC_HASH_INDEX_QUICKREF |
_hdb_code_languages view | List static + runtime grammars | 2/5 | CHANGELOG |
Graph-RAG (opt-in --features graph-rag)
| Feature | Summary | Coverage | Doc |
|---|---|---|---|
| Universal node/edge schema | _hdb_graph_nodes & _hdb_graph_edges plain tables | 4/5 | GRAPH_RAG_TUTORIAL |
| Symbol projection | graph_rag_project_symbols() | 3/5 | GRAPH_RAG_TUTORIAL |
| BFS graph search | Seed → expand → subgraph | 4/5 | GRAPH_RAG_TUTORIAL |
| Centrality weighting | Post-rerank scoring bias | 3/5 | GRAPH_RAG_TUTORIAL |
| Vector entity linker | Cross-modal MENTIONS via cosine | 3/5 | GRAPH_RAG_TUTORIAL |
| Docling PDF/Office ingestion | graph_rag_ingest_* | 4/5 | DOCLING_INGESTION |
| Graph traversal tools | heliosdb_graph_traverse / _path / _add_edge | 3/5 | release notes |
MCP Endpoint (opt-in --features mcp-endpoint)
| Feature | Summary | Coverage | Doc |
|---|---|---|---|
| MCP JSON-RPC dispatcher | Native server for Claude Code/Cursor/Aider | 5/5 | MCP_ENDPOINT |
| 16-tool catalogue | 10 DB-backed + 6 RAG | 4/5 | MCP_ENDPOINT |
| MCP resource URIs | heliosdb://schema/{table} etc. | 3/5 | MCP_ENDPOINT |
| WebSocket transport | Real-time tool calls | 3/5 | MCP_ENDPOINT |
| Stdio transport | Library only (no engine subcommand); for stdio MCP use the HeliosDB CodeKB MCP binary | 3/5 | MCP_ENDPOINT |
| SSE transport | Server-sent events | 3/5 | MCP_ENDPOINT |
| Progress notifications | Streaming notifications/progress | 3/5 | MCP_ENDPOINT |
| HTTP POST + SSE pairing | Forward progress to SSE | 2/5 | release notes |
| Verbose tool discovery | tools/list?verbose=true + helios/info | 3/5 | MCP_ENDPOINT |
Persistence / WAL / Replication
| Feature | Summary | Coverage | Doc |
|---|---|---|---|
| RocksDB LSM storage | Write-optimised KV store | 3/5 | ../architecture |
| Write-ahead log | Durability guarantee | 3/5 | WAL_QUICK_REFERENCE |
| WAL streaming replication (default build) | Warm standby, async repl | 4/5 | HA_HANDS_ON_TUTORIAL |
Branch-based replication (ha-tier2/branch-replication build) | Selective branch sync | 3/5 | release notes |
Multi-primary active-active (ha-tier2 build) | Vector-clock conflict resolution | 3/5 | high-availability |
Sharding (ha-tier3 build) | Consistent hash ring | 3/5 | high-availability |
Content-addressed dedup (ha-dedup build) | Cross-node BLAKE3 dedup | 3/5 | high-availability |
| In-memory mode | --memory for tests/CI | 3/5 | IN_MEMORY_MODE_QUICKREF |
Backup / Restore / Dump
| Feature | Summary | Coverage | Doc |
|---|---|---|---|
| Database dump | zstd / gzip / brotli / lz4 | 4/5 | BACKUP_RESTORE |
| Selective export | Per-table/schema | 3/5 | BACKUP_RESTORE |
| Import/export formats | CSV, JSON, JSONL, Parquet, Arrow, SQL | 3/5 | BACKUP_RESTORE |
| SQLite import | One-shot .sqlite conversion | 3/5 | features/sqlite/ |
Observability
| Feature | Summary | Coverage | Doc |
|---|---|---|---|
| Tracing / structured logging | tracing macros | 3/5 | TRACING_GUIDE |
| EXPLAIN ANALYZE | Cost-based plans, JSON/XML/YAML | 4/5 | EXPLAIN_AND_OPTIMIZATION |
| CPU monitoring (sysinfo) | MV scheduler awareness | 2/5 | CHANGELOG |
| Result cache | 128-entry LRU + dml/ddl invalidation | 3/5 | CHANGELOG |
| Audit log | Tamper-proof SHA-256 | 5/5 | AUDIT_LOGGING_TUTORIAL |
Embedded Rust API
| Feature | Summary | Coverage | Doc |
|---|---|---|---|
| In-process database | Zero-network, no daemon | 4/5 | API_REFERENCE, docs.rs |
| Async runtime (Tokio) | Non-blocking I/O | 3/5 | API_REFERENCE |
| Code indexing API | code_index(opts) idempotent | 3/5 | CODE_GRAPH_TUTORIAL |
| Branch operations | create/switch/list/merge | 3/5 | API_REFERENCE |
| Transaction control | begin/commit/rollback/savepoint | 3/5 | API_REFERENCE |
SDKs & Bindings
| Language | UVP | Doc |
|---|---|---|
Rust (heliosdb-nano) | Embedded API | docs.rs |
Python (@heliosdb/client-equiv) | psycopg2 + REST + Realtime | api/python-sdk.md, PYTHON_VECTOR_APP |
TypeScript (@heliosdb/client) | REST + Realtime + Auth fluent API | api/typescript-sdk.md, NODEJS_BAAS_APP |
| Go | pgx-style + REST | api/go-sdk.md, GO_EMBEDDED_APP |
| ORMs (any) | SQLAlchemy / Django / Prisma / Drizzle / TypeORM / Sequelize / Hibernate / GORM / SeaORM / Diesel | ORM_SUPPORT, DRIZZLE_PRISMA_COMPAT |
Tooling / CLI
| Feature | Summary | Coverage | Doc |
|---|---|---|---|
heliosdb-nano binary | ~32 MB single executable | 4/5 | README |
| REPL | Zero-setup interactive SQL | 4/5 | REPL_COMMAND_REFERENCE |
| Release binaries / crates.io / container image | GitHub Releases binaries, cargo install heliosdb-nano, ghcr.io/heliosdatabase/heliosdb-nano | 4/5 | README |