Skip to content

docs(connections): retitle the Database parity row — MF is ODBC, not JDBC#9

Merged
wshallwshall merged 2 commits into
mainfrom
claude/mefor-jdbc-support-c275bd
Jul 27, 2026
Merged

docs(connections): retitle the Database parity row — MF is ODBC, not JDBC#9
wshallwshall merged 2 commits into
mainfrom
claude/mefor-jdbc-support-c275bd

Conversation

@wshallwshall

Copy link
Copy Markdown
Collaborator

What

The competitive-parity table in docs/CONNECTIONS.md titled a row "Database reader/writer
(JDBC/ODBC)" and put a bare ✅ in the MF column. That reads as a claim that MessageFoundry speaks
JDBC. It does not — MF is pure Python with no JVM, and DB-OUT / DB-IN / db_lookup all connect
over ODBC (aioodbc/pyodbc; DSN built in transports/database.py::_build_dsn).

The row is now transport-neutral, with the mechanism moved into each engine's own cell (Mirth and
Rhapsody are JVM engines, so theirs is genuinely JDBC), plus the generic-ODBC dialect named and the
no-JDBC fact stated explicitly in the MF status cell.

-| **Database** reader/writer (JDBC/ODBC) | ✅ | ✅ | ✅ | ✅ | `DB-OUT` + `DB-IN` shipped (SQL Server, exp.) |
+| **Database** reader/writer | ✅ (JDBC) | ✅ | ✅ (JDBC) | ✅ (ODBC) | `DB-OUT` + `DB-IN` shipped (SQL Server, exp.); `dialect='generic'` reaches any DB with an OS-installed ODBC driver. **No JDBC** — MF is pure Python, no JVM |

jdbc now appears in the repo only where it is explicitly disclaimed.

Why it matters

This is a customer/prospect-facing parity table. A ✅ on a row titled "(JDBC/ODBC)" is the kind of
claim that gets read back to us in an RFP. The honest answer is that ODBC reaches the same
databases — Oracle, DB2, MySQL, PostgreSQL, SQL Server — via dialect='generic'.

Testing

  • tests/test_communications_inventory.py — 77 passed. That guard pins the resource-management
    section, not this table, so the edit is unconstrained by it; run for confirmation.
  • Docs-only; no code paths touched.

Notes

  • Branch merged up to origin/main (9e4e614) before pushing rather than relying on a stale green,
    since branch protection is strict:false.
  • The forbidden-content gate was run locally with the real token list loaded
    (names=7, estate=13, site_prefixes=1 — matching the CI floor), exit 0.

…JDBC

The competitive-parity row read "Database reader/writer (JDBC/ODBC)" with a
bare check in the MF column, which reads as a claim that MessageFoundry speaks
JDBC. It does not: MF is pure Python with no JVM, and DB-OUT / DB-IN /
db_lookup all connect over ODBC (aioodbc/pyodbc, DSN built in
transports/database.py::_build_dsn).

Retitle the row transport-neutral and move the mechanism into each engine's
own cell (Mirth and Rhapsody are JVM engines, so theirs is JDBC), plus name
the generic-ODBC dialect and state the no-JDBC fact explicitly in the MF
status cell. `jdbc` now appears in the repo only where it is disclaimed.

Docs-only; the CONNECTIONS.md drift guard (tests/test_communications_inventory.py,
77 passed) pins the resource-management section, not this table.
@wshallwshall
wshallwshall enabled auto-merge (squash) July 27, 2026 14:42
@wshallwshall
wshallwshall merged commit c93d863 into main Jul 27, 2026
30 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant