This directory contains comprehensive documentation for HeliosDB’s Oracle 23ai protocol support, SQL compatibility, and the PL/SQL roadmap.
Overview
HeliosDB Full implements the Oracle TNS wire protocol, so Oracle thin-mode clients
(python-oracledb thin mode, the Oracle JDBC thin driver) can connect to the same
database that PostgreSQL and MySQL clients use. Statements received on the Oracle
listener are executed by HeliosDB’s SQL engine; the Oracle compatibility module
(dialect translation, PL/SQL, DBMS_ packages) is only partly on that path today.
Quick Start
Terminal window
exportHELIOSDB_ORACLE_NATIVE_PASSWORD='a-long-random-password'# from your secrets store
What to expect for a typical in-house application, how it was assessed, and how to assess your own
CONFIGURATION.md
TNS listener, NLS settings, security, and connection pooling
COMPATIBILITY.md
Detailed SQL, PL/SQL, and DBMS package compatibility
EXAMPLES.md
Practical SQL, PL/SQL, JDBC, and OCI examples
PLSQL_SUPPORT.md
PL/SQL roadmap, constructs in scope, conversion patterns, and workarounds
Oracle 23ai Compatibility Matrix
Overall Compatibility
HeliosDB Full’s Oracle compatibility module covers a large part of Oracle’s feature surface. For typical in-house applications, core data access runs unchanged through the Oracle listener today, and the rest needs the rewrites described in Oracle compatibility for in-house applications. It is not a drop-in replacement. The matrix below describes the Oracle compatibility module; PL/SQL blocks, CONNECT BY, MERGE and several Oracle functions are not yet executed correctly when sent through the listener (see the in-house page for the results by usage area).
Feature Category
Result
Notes
Core SQL
Supported
SELECT, INSERT, UPDATE, DELETE, MERGE
DDL Statements
Supported
CREATE, ALTER, DROP for common objects
PL/SQL Core
Beta
Anonymous blocks, procedures, functions
PL/SQL Packages
Beta
Package specifications and bodies
DBMS Packages
Partial
Core DBMS_* packages only
Hierarchical Queries
Supported
CONNECT BY, START WITH
Cursors
Beta
Explicit cursors, REF CURSOR
BULK Operations
Beta
BULK COLLECT, FORALL
XMLType
Alpha
Basic operations only
JSON Functions
Supported
Oracle 21c+ JSON functions
Pseudo-columns
Supported
ROWNUM, ROWID, LEVEL
Analytics
Supported
Core window functions
Object Types
Alpha
Basic user-defined types
Collections
Beta
Nested tables, VARRAYs
Triggers
Beta
Row-level and statement-level
Sequences
Supported
NEXTVAL, CURRVAL
Synonyms
Supported
Public and private
Views
Supported
Standard and updatable views
Materialized Views
Beta
Basic refresh only
What to expect by application type
Assessed through the Oracle listener (HeliosDB Full main a3cf7ce, python-oracledb thin
mode), against how typical in-house applications use the database:
Application profile
What to expect
SQL/ORM-centric (little or no PL/SQL)
The best fit: core DDL, DML and queries run as written; Oracle-specific syntax and functions need rewriting
Typical in-house application
Core data access runs unchanged; plan to rewrite Oracle-specific syntax, most built-in functions, sequences and PL/SQL
PL/SQL-heavy (business logic in packages)
PL/SQL is not executed through the listener yet; move the logic to the application or migrate it
Oracle Forms/APEX and tools that rely on the data dictionary, PL/SQL or OCI are not
expected to work. For a migration, move the application to a PostgreSQL driver and
convert the schema and code with a migration tool; see the
Oracle migration guide.
Core Feature Overview
Wire Protocol: Oracle TNS
HeliosDB implements the TNS protocol for network communication:
PL/SQL execution through the Oracle listener — procedures, functions, anonymous blocks and common DBMS_ packages — is on the roadmap. Today, port PL/SQL to PL/pgSQL functions and run them through the PostgreSQL interface, or move the logic into the application tier.