SQL Compatibility Matrix
Version: v5.5
Last Updated: January 4, 2026
This document provides a comprehensive overview of HeliosDB's SQL standard compliance and compatibility with other database systems.
Table of Contents
- SQL Standard Compliance
- Data Types
- Query Features
- DML Operations
- DDL Operations
- Functions and Operators
- Transaction Support
- PostgreSQL Compatibility
- HeliosDB Extensions
SQL Standard Compliance
Overview
| Standard |
Compliance Level |
Notes |
| SQL-92 |
Full |
Core SQL features |
| SQL:1999 |
Partial |
CTEs, recursive queries |
| SQL:2003 |
Partial |
Window functions, MERGE |
| SQL:2011 |
Partial |
Temporal queries |
| SQL:2016 |
Partial |
JSON functions |
Compliance Details
| Feature |
SQL Standard |
HeliosDB Support |
Notes |
| SELECT |
SQL-92 |
Full |
All standard clauses |
| INSERT |
SQL-92 |
Full |
Including multi-row |
| UPDATE |
SQL-92 |
Full |
Including subqueries |
| DELETE |
SQL-92 |
Full |
Including USING |
| JOINs |
SQL-92 |
Full |
All join types |
| Subqueries |
SQL-92 |
Full |
Correlated supported |
| CTEs |
SQL:1999 |
Full |
WITH clause |
| Recursive CTEs |
SQL:1999 |
Partial |
Basic support |
| Window Functions |
SQL:2003 |
Full |
All window functions |
| MERGE |
SQL:2003 |
Planned |
Not yet implemented |
| LATERAL |
SQL:1999 |
Full |
Lateral joins |
| JSON |
SQL:2016 |
Full |
JSON operators |
Data Types
Standard SQL Types
| SQL Type |
HeliosDB Type |
Storage Size |
Notes |
BOOLEAN |
bool |
1 byte |
TRUE/FALSE/NULL |
SMALLINT |
i16 |
2 bytes |
-32768 to 32767 |
INTEGER |
i32 |
4 bytes |
Standard int |
BIGINT |
i64 |
8 bytes |
Large integers |
REAL |
f32 |
4 bytes |
Single precision |
DOUBLE PRECISION |
f64 |
8 bytes |
Double precision |
NUMERIC(p,s) |
decimal |
Variable |
Exact numeric |
CHAR(n) |
string |
n bytes |
Fixed-length |
VARCHAR(n) |
string |
Variable |
Variable-length |
TEXT |
string |
Variable |
Unlimited text |
DATE |
date |
4 bytes |
Calendar date |
TIME |
time |
8 bytes |
Time of day |
TIMESTAMP |
timestamp |
8 bytes |
Date and time |
TIMESTAMPTZ |
timestamptz |
8 bytes |
With timezone |
INTERVAL |
interval |
16 bytes |
Time span |
BYTEA |
bytes |
Variable |
Binary data |
UUID |
uuid |
16 bytes |
UUID type |
JSON |
json |
Variable |
JSON data |
JSONB |
jsonb |
Variable |
Binary JSON |
ARRAY |
array |
Variable |
Array types |
HeliosDB-Specific Types
| Type |
Description |
Use Case |
VECTOR(n) |
n-dimensional vector |
AI/ML embeddings |
TIMESERIES |
Time-series data |
IoT, metrics |
GEOSPATIAL |
Geographic data |
Location data |
Query Features
SELECT Clauses
| Clause |
Support |
Notes |
SELECT |
Full |
Column selection |
FROM |
Full |
Table references |
WHERE |
Full |
Filtering |
GROUP BY |
Full |
Aggregation grouping |
HAVING |
Full |
Aggregate filtering |
ORDER BY |
Full |
Sorting |
LIMIT |
Full |
Row limiting |
OFFSET |
Full |
Row skipping |
DISTINCT |
Full |
Duplicate removal |
DISTINCT ON |
Full |
PostgreSQL extension |
JOIN Types
| Join Type |
Support |
Example |
INNER JOIN |
Full |
a JOIN b ON a.id = b.id |
LEFT JOIN |
Full |
a LEFT JOIN b ON ... |
RIGHT JOIN |
Full |
a RIGHT JOIN b ON ... |
FULL OUTER JOIN |
Full |
a FULL JOIN b ON ... |
CROSS JOIN |
Full |
a CROSS JOIN b |
NATURAL JOIN |
Full |
a NATURAL JOIN b |
LATERAL JOIN |
Full |
FROM a, LATERAL (...) |
SELF JOIN |
Full |
Table joined to itself |
Set Operations
| Operation |
Support |
Notes |
UNION |
Full |
Combine with dedup |
UNION ALL |
Full |
Combine without dedup |
INTERSECT |
Full |
Common rows |
EXCEPT |
Full |
Difference |
Subqueries
| Type |
Support |
Example |
| Scalar |
Full |
SELECT (SELECT max(x) FROM b) |
| Row |
Full |
WHERE (a, b) = (SELECT ...) |
| Table |
Full |
FROM (SELECT ...) AS sub |
| Correlated |
Full |
Referencing outer query |
| EXISTS |
Full |
WHERE EXISTS (SELECT ...) |
| IN |
Full |
WHERE x IN (SELECT ...) |
| NOT IN |
Full |
WHERE x NOT IN (SELECT ...) |
| ANY/SOME |
Full |
WHERE x > ANY (SELECT ...) |
| ALL |
Full |
WHERE x > ALL (SELECT ...) |
DML Operations
INSERT
| Feature |
Support |
Example |
| Single row |
Full |
INSERT INTO t VALUES (1) |
| Multi-row |
Full |
INSERT INTO t VALUES (1), (2) |
| SELECT |
Full |
INSERT INTO t SELECT * FROM s |
| DEFAULT VALUES |
Full |
INSERT INTO t DEFAULT VALUES |
| ON CONFLICT |
Full |
INSERT ... ON CONFLICT DO UPDATE |
| RETURNING |
Full |
INSERT ... RETURNING * |
UPDATE
| Feature |
Support |
Example |
| Single table |
Full |
UPDATE t SET x = 1 |
| FROM clause |
Full |
UPDATE t SET x = s.x FROM s |
| Subqueries |
Full |
UPDATE t SET x = (SELECT ...) |
| RETURNING |
Full |
UPDATE ... RETURNING * |
DELETE
| Feature |
Support |
Example |
| Simple |
Full |
DELETE FROM t WHERE ... |
| USING |
Full |
DELETE FROM t USING s |
| RETURNING |
Full |
DELETE ... RETURNING * |
DDL Operations
Tables
| Operation |
Support |
Notes |
CREATE TABLE |
Full |
Standard syntax |
CREATE TABLE AS |
Full |
From query |
ALTER TABLE |
Full |
Add/drop columns |
DROP TABLE |
Full |
With CASCADE |
TRUNCATE |
Full |
Fast delete |
Indexes
| Index Type |
Support |
Notes |
| B-tree |
Full |
Default index |
| Hash |
Full |
Equality only |
| GIN |
Full |
Full-text, arrays |
| GiST |
Partial |
Geometric |
| BRIN |
Full |
Block range |
| Vector (HNSW) |
Full |
AI embeddings |
Constraints
| Constraint |
Support |
Notes |
PRIMARY KEY |
Full |
Unique, not null |
FOREIGN KEY |
Full |
Referential |
UNIQUE |
Full |
Unique values |
NOT NULL |
Full |
Required values |
CHECK |
Full |
Custom validation |
DEFAULT |
Full |
Default values |
EXCLUDE |
Partial |
Exclusion constraints |
Functions and Operators
Aggregate Functions
| Function |
Support |
Notes |
COUNT(*) |
Full |
Row count |
COUNT(col) |
Full |
Non-null count |
SUM(col) |
Full |
Numeric sum |
AVG(col) |
Full |
Average |
MIN(col) |
Full |
Minimum |
MAX(col) |
Full |
Maximum |
ARRAY_AGG(col) |
Full |
Array aggregation |
STRING_AGG(col, sep) |
Full |
String concatenation |
BOOL_AND(col) |
Full |
Boolean AND |
BOOL_OR(col) |
Full |
Boolean OR |
STDDEV(col) |
Full |
Standard deviation |
VARIANCE(col) |
Full |
Variance |
PERCENTILE_CONT |
Full |
Continuous percentile |
PERCENTILE_DISC |
Full |
Discrete percentile |
Window Functions
| Function |
Support |
Notes |
ROW_NUMBER() |
Full |
Sequential number |
RANK() |
Full |
Rank with gaps |
DENSE_RANK() |
Full |
Rank without gaps |
NTILE(n) |
Full |
Bucket distribution |
LAG(col, n) |
Full |
Previous row value |
LEAD(col, n) |
Full |
Next row value |
FIRST_VALUE(col) |
Full |
First in window |
LAST_VALUE(col) |
Full |
Last in window |
NTH_VALUE(col, n) |
Full |
Nth in window |
String Functions
| Function |
Support |
Notes |
LENGTH(s) |
Full |
String length |
LOWER(s) |
Full |
Lowercase |
UPPER(s) |
Full |
Uppercase |
TRIM(s) |
Full |
Remove whitespace |
SUBSTRING(s, pos, len) |
Full |
Extract substring |
CONCAT(s1, s2, ...) |
Full |
Concatenate |
REPLACE(s, from, to) |
Full |
Replace text |
SPLIT_PART(s, delim, n) |
Full |
Split and extract |
REGEXP_MATCH(s, pat) |
Full |
Regex match |
REGEXP_REPLACE(s, pat, rep) |
Full |
Regex replace |
Date/Time Functions
| Function |
Support |
Notes |
NOW() |
Full |
Current timestamp |
CURRENT_DATE |
Full |
Current date |
CURRENT_TIME |
Full |
Current time |
DATE_TRUNC(unit, ts) |
Full |
Truncate timestamp |
EXTRACT(unit FROM ts) |
Full |
Extract component |
AGE(ts1, ts2) |
Full |
Time difference |
DATE_PART(unit, ts) |
Full |
Extract as float |
TO_CHAR(ts, fmt) |
Full |
Format timestamp |
TO_TIMESTAMP(s, fmt) |
Full |
Parse timestamp |
JSON Functions
| Function |
Support |
Notes |
-> |
Full |
Get JSON element |
->> |
Full |
Get as text |
#> |
Full |
Get path |
#>> |
Full |
Get path as text |
@> |
Full |
Contains |
<@ |
Full |
Contained by |
? |
Full |
Key exists |
jsonb_each(j) |
Full |
Expand object |
jsonb_array_elements(j) |
Full |
Expand array |
jsonb_set(j, path, val) |
Full |
Set value |
Transaction Support
Transaction Features
| Feature |
Support |
Notes |
BEGIN |
Full |
Start transaction |
COMMIT |
Full |
Commit changes |
ROLLBACK |
Full |
Abort changes |
SAVEPOINT |
Full |
Named savepoints |
ROLLBACK TO |
Full |
Partial rollback |
Isolation Levels
| Level |
Support |
Notes |
| READ UNCOMMITTED |
Promoted |
Uses READ COMMITTED |
| READ COMMITTED |
Full |
Default level |
| REPEATABLE READ |
Full |
Snapshot isolation |
| SERIALIZABLE |
Full |
Full serialization |
PostgreSQL Compatibility
Wire Protocol
| Feature |
Support |
Notes |
| Simple Query |
Full |
Text protocol |
| Extended Query |
Full |
Prepared statements |
| COPY Protocol |
Full |
Bulk loading |
| Notification |
Partial |
LISTEN/NOTIFY |
System Catalogs
| Catalog |
Support |
Notes |
pg_catalog |
Partial |
Core tables |
information_schema |
Full |
Standard views |
pg_tables |
Full |
Table listing |
pg_indexes |
Full |
Index listing |
HeliosDB Extensions
GPU Commands
| Command |
Description |
SET gpu_enabled = true/false |
Enable/disable GPU |
SET gpu_memory_limit = 'size' |
Set memory limit |
SHOW gpu_status |
Show GPU status |
SHOW gpu_devices |
List GPU devices |
Multi-Region Commands
| Command |
Description |
SET preferred_region = 'region' |
Set preferred region |
SET consistency_level = 'level' |
Set consistency |
SHOW REGIONS |
List regions |
SHOW REGION STATUS |
Region status |
Autoscaling Commands
| Command |
Description |
SET autoscale_enabled = true/false |
Enable/disable |
SET autoscale_target_cu = n |
Target CU |
SET autoscale_min_instances = n |
Min instances |
SET autoscale_max_instances = n |
Max instances |
SHOW AUTOSCALE STATUS |
Autoscale status |
SHOW COMPUTE NODES |
List nodes |
CDC Commands
| Command |
Description |
CREATE CHANGE DATA CAPTURE ON table ... |
Create stream |
DROP CHANGE DATA CAPTURE name |
Drop stream |
ALTER CDC STREAM name PAUSE/RESUME |
Control stream |
SHOW CDC STREAMS |
List streams |
SHOW CDC STREAM STATUS name |
Stream status |