You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The Oracle database test path in the compat-matrix is broken at multiple layers, affecting every engine that exercises it (Lucee 6/7, Adobe 2023/2025, BoxLang). The failures fall into three sub-clusters:
Datasource registration failure (Lucee 6) — Oracle test JSON for Lucee 6 contains java.sql.SQLException: Invalid Oracle URL specified and reports 0 specs run. The connection never establishes.
DBMS_LOCK package not installed (any engine) — wheels.tests.specs.model.lockingSpec errors with Oracle advisory locks require DBMS_LOCK package setup. (4 occurrences).
Test cleanup leaves constraints behind — ORA-02264: name already used by an existing constraint and ORA-01003: no statement parsed (~6 occurrences in migratorSpec and bulkOperationsSpec). Same root cause class as the Lucee/MySQL Duplicate foreign key constraint name issue tracked separately.
Evidence
Compat-matrix run #25837380625 (2026-05-13). Oracle errors on BoxLang totaled 134 — the highest count per DB. On Lucee 6 the count was 0 because tests didn't run (datasource failure).
Expected behavior
Oracle tests should at minimum run to completion on every engine (currently fails on Lucee 6 before tests start). The advisory-lock and constraint-cleanup failures should be deterministic and either pass or skip gracefully.
Likely fix areas
This is CI-infrastructure work, not framework code. Three independent threads:
Lucee 6 + Oracle JDBC URL — Lucee 6's CFConfig.json for Oracle in tools/docker/ — verify the JDBC URL format. The matrix compose.yml shows the Oracle service definition; the per-engine Oracle datasource config is what needs the fix. The Adobe + BoxLang Oracle setups work, so the diff between their configs is the lead.
DBMS_LOCK package — needs to be granted to wheelstestdb in the Oracle container's initialization script. Probably an add-grant in tools/docker/oracle/init.sql or equivalent.
Constraint cleanup — same shape as the FK collision issue (separate Tier-3 ticket). Migrator test setup needs to drop constraints before re-creating; Oracle's ORA-02264 is the same class of bug as MySQL's Duplicate foreign key.
This has been broken on every scheduled matrix run for at least a month (verified back to the 2026-04-12 run).
Recommend the three sub-clusters be addressed in separate PRs since they're independent: the JDBC URL fix is minutes; the DBMS_LOCK grant requires container rebuild; the constraint cleanup is shared with the MySQL/H2/SQL Server FK issue.
CLAUDE.md's SOFT_FAIL_DBS guidance is relevant here: while these are being fixed, adding oracle to SOFT_FAIL_DBS in .github/workflows/compat-matrix.yml (currently empty) would let Oracle failures log as warnings rather than hard-fail each engine job.
Describe the bug
The Oracle database test path in the compat-matrix is broken at multiple layers, affecting every engine that exercises it (Lucee 6/7, Adobe 2023/2025, BoxLang). The failures fall into three sub-clusters:
java.sql.SQLException: Invalid Oracle URL specifiedand reports 0 specs run. The connection never establishes.wheels.tests.specs.model.lockingSpecerrors withOracle advisory locks require DBMS_LOCK package setup.(4 occurrences).ORA-02264: name already used by an existing constraintandORA-01003: no statement parsed(~6 occurrences inmigratorSpecandbulkOperationsSpec). Same root cause class as the Lucee/MySQLDuplicate foreign key constraint nameissue tracked separately.Evidence
Compat-matrix run #25837380625 (2026-05-13). Oracle errors on BoxLang totaled 134 — the highest count per DB. On Lucee 6 the count was 0 because tests didn't run (datasource failure).
Expected behavior
Oracle tests should at minimum run to completion on every engine (currently fails on Lucee 6 before tests start). The advisory-lock and constraint-cleanup failures should be deterministic and either pass or skip gracefully.
Likely fix areas
This is CI-infrastructure work, not framework code. Three independent threads:
CFConfig.jsonfor Oracle in tools/docker/ — verify the JDBC URL format. The matrixcompose.ymlshows the Oracle service definition; the per-engine Oracle datasource config is what needs the fix. The Adobe + BoxLang Oracle setups work, so the diff between their configs is the lead.wheelstestdbin the Oracle container's initialization script. Probably an add-grant intools/docker/oracle/init.sqlor equivalent.ORA-02264is the same class of bug as MySQL'sDuplicate foreign key.Additional context
oracletoSOFT_FAIL_DBSin.github/workflows/compat-matrix.yml(currently empty) would let Oracle failures log as warnings rather than hard-fail each engine job.Related: #2649