HeliosDB End-User Feature Test Report
HeliosDB End-User Feature Test Report
Date: 2026-01-25 Version: 7.1.0 Build: Docker (MINIMAL - 7 feature groups enabled)
Executive Summary
This report documents the results of end-user testing of HeliosDB features through various protocols and interfaces. Testing was performed using the Docker-deployed heliosdb:latest image.
Test Environment
- Container:
heliosdb:latest(Docker build) - Ports Exposed:
- PostgreSQL: 25432 -> 5432
- MySQL: 23306 -> 3306
- SQL Server (TDS): 31433 -> 1433
- HTTP API: 28443 -> 8443
- Authentication: Default password
passwordfor all users
Protocol Connectivity Tests
PostgreSQL Protocol (Port 5432)
| Feature | Status | Notes |
|---|---|---|
| Connection | PASS | SCRAM authentication works |
| SELECT queries | PASS | Basic queries work |
| INSERT statements | PASS | Single and batch inserts work |
| UPDATE statements | PASS | Works with simple predicates |
| DELETE statements | PASS | Works with simple predicates |
| CREATE TABLE | PASS | Basic table creation works |
| DROP TABLE | PASS | Works |
| Transactions (BEGIN/COMMIT) | PASS | Works |
| Transactions (ROLLBACK) | ISSUE | ROLLBACK may not properly undo uncommitted changes |
| Aggregations (COUNT, MAX, SUM) | PASS | Works |
| JOINs | ISSUE | Column ID errors during JOIN execution |
| WHERE clause with complex predicates | ISSUE | Some predicates cause column ID errors |
| VARCHAR(N) syntax | ISSUE | Triggers false positive SQL injection detection |
MySQL Protocol (Port 3306)
| Feature | Status | Notes |
|---|---|---|
| Connection | PASS | Handshake successful |
| Authentication | PASS | User authenticated |
| Protocol version | PASS | Reports as 8.0.35-HeliosDB |
| Basic queries | PARTIAL | Authentication works, results may be empty |
HTTP/REST API (Port 8443)
| Feature | Status | Notes |
|---|---|---|
| GET /health | PASS | Returns {"status":"healthy","version":"7.0.0"} |
| GET /status | PASS | Returns status with enabled protocols |
| GET / | PASS | Returns API info and endpoints |
| POST /api/v1/query | NOT IMPL | Returns “not yet implemented” message |
MongoDB Protocol (Port 27017)
| Feature | Status | Notes |
|---|---|---|
| Port listening | NOT STARTED | MongoDB protocol not started in minimal build |
Redis Protocol (Port 6379)
| Feature | Status | Notes |
|---|---|---|
| Port listening | NOT STARTED | Redis protocol not started in minimal build |
Cassandra/CQL Protocol (Port 9042)
| Feature | Status | Notes |
|---|---|---|
| Port listening | NOT STARTED | Cassandra protocol not started in minimal build |
Feature Tests via PostgreSQL
Vector Search
| Feature | Status | Notes |
|---|---|---|
| CREATE EXTENSION vector | PASS | Extension created |
| CREATE TABLE with VECTOR column | PASS | Table created |
| INSERT vector data | PASS | Using ARRAY syntax |
| Vector similarity search (<->) | PASS | ORDER BY with vector distance works |
| vector_dims() function | STUB | Returns function name, not actual result |
| l2_distance() function | STUB | Returns function name, not actual result |
Branching and Time-Travel
| Feature | Status | Notes |
|---|---|---|
| CREATE DATABASE BRANCH | NOT PARSED | SQL syntax not recognized |
| SHOW BRANCHES | NOT SUPPORTED | Statement type not handled |
| USE BRANCH | NOT PARSED | SQL syntax not recognized |
| AS OF TIMESTAMP | NOT PARSED | Temporal syntax not supported |
| AS OF SCN | NOT PARSED | Temporal syntax not supported |
| FOR SYSTEM_TIME | NOT PARSED | Temporal syntax not supported |
Transactions
| Feature | Status | Notes |
|---|---|---|
| BEGIN | PASS | Transaction starts |
| COMMIT | PASS | Changes persisted |
| ROLLBACK | ISSUE | May not properly undo uncommitted changes |
| SAVEPOINT | PASS | Savepoint created |
| ROLLBACK TO savepoint | PASS | Rolls back to savepoint |
| SET TRANSACTION ISOLATION LEVEL | NOT SUPPORTED | Statement not implemented |
Security (RBAC/RLS)
| Feature | Status | Notes |
|---|---|---|
| CREATE USER | NOT PARSED | SQL syntax not recognized |
| CREATE ROLE | NOT SUPPORTED | Statement not implemented |
| GRANT | NOT SUPPORTED | Statement not implemented |
| ALTER TABLE ENABLE ROW LEVEL SECURITY | NOT SUPPORTED | Statement not implemented |
| CREATE POLICY | NOT SUPPORTED | Statement not implemented |
Backup and Recovery
| Feature | Status | Notes |
|---|---|---|
| BACKUP DATABASE | NOT PARSED | SQL syntax not recognized |
| CALL backup_database() | NOT SUPPORTED | CALL statements not implemented |
| HTTP /api/v1/backup | NOT FOUND | Endpoint not available |
CLI/REPL
| Feature | Status | Notes |
|---|---|---|
hsql binary | NOT IN IMAGE | CLI binary not included in Docker image |
Issues Identified
Critical Issues
-
ROLLBACK Not Working Correctly
- Uncommitted changes appear to persist after ROLLBACK
- Impact: Data integrity concerns in transaction handling
-
JOIN Execution Errors
Column ID 30 not found in schemaerrors during JOIN queries- Impact: Multi-table queries may fail
High Priority Issues
-
VARCHAR(N) False Positive SQL Injection
VARCHAR(100)triggers security validator- Pattern
CHAR(detected as injection attempt - Impact: Standard table definitions blocked
-
Missing SQL Statement Support
- Branch management statements not parsed
- Security statements (CREATE USER, GRANT) not supported
- Time-travel queries not supported
Medium Priority Issues
-
Vector Functions are Stubs
vector_dims(),l2_distance()return function names- Impact: Vector utility functions non-functional
-
MongoDB/Redis/Cassandra Not Started
- Only PostgreSQL, MySQL, HTTP, and TDS active in minimal build
- Impact: Multi-protocol testing limited
Low Priority Issues
- CLI Not in Docker Image
hsqlREPL binary not included- Impact: Users must use psql or other clients
Recommendations
Immediate Fixes Needed
- Fix ROLLBACK behavior - Ensure uncommitted changes are properly undone
- Fix VARCHAR detection - Update SQL injection patterns to allow valid DDL
- Fix JOIN execution - Resolve column ID mapping in multi-table queries
Feature Exposure Needed
- Add Branch SQL support - Parse and execute
CREATE DATABASE BRANCH, etc. - Add Security SQL support - Implement
CREATE USER,CREATE ROLE,GRANT - Add Time-travel syntax - Support
AS OF TIMESTAMP/SCNin SELECT - Add backup/restore API - HTTP endpoint and/or SQL commands
Build Improvements
- Include hsql in Docker - Add CLI binary for interactive use
- Enable all protocols - Consider full build for production testing
Test Commands Reference
PostgreSQL Connection
PGPASSWORD=password psql -h 127.0.0.1 -p 25432 -U helios -d heliosdbHTTP API Test
curl -4 http://127.0.0.1:28443/healthMySQL Connection (via Python)
import pymysqlconn = pymysql.connect(host='127.0.0.1', port=23306, user='helios', password='password', database='heliosdb')Appendix: Working SQL Examples
-- Table creation (simple types only)CREATE TABLE users (id INT, name TEXT);
-- Insert dataINSERT INTO users VALUES (1, 'Alice');
-- Select with aggregationSELECT COUNT(*) FROM users;
-- TransactionBEGIN;INSERT INTO users VALUES (2, 'Bob');COMMIT;
-- Vector tableCREATE TABLE embeddings (id INT, vec VECTOR);INSERT INTO embeddings VALUES (1, ARRAY[0.1, 0.2, 0.3]);SELECT id FROM embeddings ORDER BY vec <-> ARRAY[0.15, 0.25, 0.35] LIMIT 2;Appendix: Non-Working SQL Examples
-- Branching (not parsed)CREATE DATABASE BRANCH feature_test FROM CURRENT;
-- Time-travel (not parsed)SELECT * FROM users AS OF TIMESTAMP '2026-01-24T00:00:00Z';
-- Security (not supported)CREATE USER testuser WITH PASSWORD 'testpass';CREATE ROLE testrole;GRANT SELECT ON users TO testrole;
-- Isolation levels (not supported)SET TRANSACTION ISOLATION LEVEL SERIALIZABLE;
-- Backup (not parsed)BACKUP DATABASE heliosdb TO '/tmp/backup';