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