Skip to content

HeliosDB-Lite v3.6.0 Release Notes

HeliosDB-Lite v3.6.0 Release Notes

Release Date: March 2026

Headline

v3.6.0 is the largest feature release in HeliosDB-Lite history, adding 22 previously internal-only features to the SQL interface, comprehensive database hardening, and a 129x query performance improvement via plan caching.

Performance

  • Plan Cache: 129x average speedup on repeated queries (skip parse/plan/optimize)
  • vs PostgreSQL 16: 33 of 35 benchmark categories won (up from 34/35 in v3.5)
  • REFRESH MATVIEW: Flipped from PostgreSQL win (5.8x) to Helios win (1,279x)

New SQL Commands

CommandDescription
BACKUP DATABASE [INCREMENTAL] [TO '<path>']COW incremental-forever backup
RESTORE DATABASE FROM '<id>' [TO BRANCH '<name>']Restore with chain walking
RECOVER DATABASE TO TIMESTAMP '<ts>' [AS BRANCH '<name>']Point-in-time recovery with branch forking
VACUUM [FULL] [ANALYZE] [table]MVCC version cleanup + statistics
CHECKPOINT [FORCE]WAL flush and rotation
REINDEX TABLE/INDEXForce index rebuild
ALTER TABLE ENABLE/DISABLE ROW LEVEL SECURITYRLS toggle
CREATE/DROP POLICYRow-level security policies
CREATE ROLE WITH RATE_LIMIT <rpm>Per-user rate limiting
CREATE ROLE WITH SSL_REQUIREDConnection-level SSL enforcement
ALTER SYSTEM ROTATE ENCRYPTION KEYEncryption key rotation
ALTER TABLE ENABLE/DISABLE ZERO KNOWLEDGE ENCRYPTIONPer-table ZKE
ALTER COLUMN SET COMPRESSION zstd/lz4/nonePer-column compression
ALTER MATERIALIZED VIEW SET (refresh_interval='5m')MV auto-refresh scheduling
CREATE/DROP EXTENSION FROM '<path>'WASM plugin management
CREATE/DROP PUBLICATION/SUBSCRIPTIONLogical replication (feature-gated)
CONSOLIDATE FILTER [table]SMFI rebuild
GRANT role TO userRole hierarchy via custom parser

New SQL Functions

FunctionDescription
pg_cancel_backend(pid)Cancel a running query
pg_terminate_backend(pid)Terminate a session
pg_backend_pid()Get current process ID
% (modulo operator)Integer and float modulo

New System Views (22 views added, 94 total)

ViewCategory
helios_dictionaryLists all 94 system views (Oracle DICT equivalent)
helios_audit_logTamper-proof audit trail
helios_bloom_filtersBloom filter statistics
helios_zone_mapsZone map min/max statistics
helios_resource_usageHTAP quota monitoring
helios_index_statsIndex metadata
helios_advisor_recommendationsWorkload advisor output
pg_statsPG-compatible column statistics
helios_dedup_statsContent-addressed dedup ratios
helios_prefetch_statsPrefetch cache stats
helios_smfi_statusSelf-maintaining filter status
helios_encryption_keysKey rotation history
helios_zke_statusZKE per-table status
helios_mv_refresh_statusMV auto-refresh schedule
helios_column_compressionPer-column codec
pg_publicationsLogical replication publications
pg_subscriptionsLogical replication subscriptions
helios_extensionsWASM plugin registry
helios_graphql_statusGraphQL gateway status
helios_circuit_breaker_statusCircuit breaker config
helios_backupsBackup metadata catalog
helios_user_quotasRate limit quota tracking

Security Hardening

  • PBKDF2: 100,000 iterations (was 4,096)
  • Resource limits: max_result_rows (1M), CTE depth (1000), subquery depth (64), expression depth (128), memory per query
  • CRC32 checksums: Opt-in data integrity verification
  • PRAGMA integrity_check: Full data corruption scan
  • API validation: SQL size (1MB), param count (64K), timeout bounds
  • PostgREST: Refactored to parameterized queries (SQL injection eliminated)

PL/pgSQL Enhancements

  • FOR loops (numeric + query)
  • WHILE loops
  • CASE (searched + simple)
  • Cursors (OPEN/FETCH/CLOSE)
  • EXIT/CONTINUE
  • SELECT INTO
  • EXECUTE (dynamic SQL)

Optimizer

  • Rules split into 8 focused modules (was 2,712-line monolith)
  • All panic!() replaced with proper error propagation
  • FilteredScan CTE conflict resolved

Repository Organization

  • README.md at repo root
  • 24 test files renamed to standard convention
  • docs/FEATURE_FLAGS.md documenting 47 Cargo features
  • READMEs for examples/, sdks/, integrations/, benches/
  • Stale files cleaned, .gitignore updated

Graph Adjacency Lists (New)

Property graph layer with DashMap-based concurrent adjacency lists:

  • Nodes: 64-bit ID with optional label and properties
  • Edges: Directed, typed, optionally weighted
  • Traversal: BFS, Dijkstra shortest path, A* with pluggable heuristic
  • SQL functions: graph_bfs(), graph_shortest_path(), graph_a_star(), graph_neighbors() (declared; wiring pending storage backend integration)

BM25 & Hybrid Search (New)

RAG-native lexical and hybrid search:

  • BM25 inverted index with Okapi parameters (k1=1.2, b=0.75)
  • Unicode-aware tokenizer with ASCII folding
  • Hybrid search: weighted linear combination or Reciprocal Rank Fusion (RRF)
  • Rerankers: RRF (Cormack/Clarke 2009, k=60) and Maximal Marginal Relevance (MMR)
  • Bloom filter skip: short-circuit term lookups for non-existent terms

Arena Allocation (New)

Per-request bump allocator (bumpalo-based):

  • Zero-cost deallocation (drop whole arena)
  • 16 KiB default initial capacity
  • Telemetry: bytes_allocated(), chunk_count()
  • Reusable across requests for warmed memory

Compiled Query Plans (New)

  • PlanFingerprint: stable hash of normalized SQL (comments stripped, literals replaced)
  • CompiledPlan: parsed + validated prepared statement with parameter slots
  • PlanCache: bounded LRU (512 entries), thread-safe

Production Hardening (New)

FeatureDescription
FK constraint enforcementINSERT/UPDATE/DELETE validate foreign keys
MVCC GC background thread5-minute interval, 1-hour retention window
Backup snapshot consistencySingle-pass scan for consistent snapshots
Index error escalationPK/UNIQUE violations return ERROR, not warning
NaN/Infinity guardsAggregate functions reject NaN/Infinity
SQL cursorsDECLARE/FETCH/CLOSE for streaming result sets
Connection managementTimeouts, idle disconnect, rollback on disconnect
DDL lockingRwLock for schema operations
/metrics endpointPrometheus-compatible metrics
/health endpointHealth check (HTTP 200 + JSON)
SET TRANSACTION ISOLATION LEVELRuntime isolation level control
Adaptive timeout sampling1000 to 100 row sampling

Breaking Changes

None. All changes are additive.

Test Coverage

  • 1,502+ lib tests, 0 failures
  • 58+ E2E feature tests covering every user-facing feature
  • 19 tutorials in Docs-Public/Lite/docs/tutorials/