Skip to main content

Database Provider Compatibility

A provider name in source, documentation, or a service catalog is not proof of a supported database combination. Use these evidence levels:

LevelMeaning
Source-presentA current runtime source module/provider exists.
Artifact-observedA matching released artifact or generated dependency was observed.
GeneratedA current target emitted the provider dependency/configuration.
TestedGeneration, build, database start, query, mutation, and relevant provider behavior passed.
SupportedMaintainers publish a support lifetime and response/update policy.

Current Evidence

Stack/provider familyHighest evidence in this repositoryWhat is still required
Java PostgreSQL, MySQL, SQLite, Oracle, DB2, DM8, SAP HANA, SQL Server, and DuckDBTested on 2026-08-12 with generated code and real databases: 9 tests / 0 failures / 0 errors / 0 skipped.Published artifact/database/driver version ranges, load limits, and support lifetime.
Rust PostgreSQL, MySQL, and SQLiteGenerated API and real-database chain tested in the 2026-08-12 campaign.Retained per-provider CI artifacts, published version ranges, MSRV, load/concurrency limits, and support lifetime.
Go PostgreSQL, MySQL, and SQLiteGenerated three-database matrix tested; runtime statement coverage reached 94.9%.Published driver/database ranges and operational support policy.
Python PostgreSQL, MySQL, and SQLiteGenerated real async SQL integrations tested; 73 runtime tests passed.Published Python/database/driver ranges and operational support policy.
C# / .NET PostgreSQL, MySQL, SQLite, and SQL ServerGenerated database integration tested; 124 runtime tests passed.Published .NET/database/driver ranges and operational support policy.
TypeScript PostgreSQL, MySQL, and SQLiteGenerated Node SQL matrix tested; browser-root isolation separately verified.Published Node/database/driver ranges and operational support policy.
Rust MeilisearchDocumented search-provider family; not version-tested here.Define supported query/mutation semantics and test against a named server version.
Rust memoryRuntime path documented; not promoted to provider compatibility evidence here.Generated API tests covering query/mutation semantics and differences from SQL providers.
Java portable SQL/JDBC providersSource architecture present.Platform implementation, transaction/schema behavior, and application integration evidence.
Java SnowflakeSource/configuration path present; not executed in the 2026-08-12 matrix.A runnable database service, full generated persistence test, and published support range.

No row is currently labeled Supported because this repository does not contain a formal provider support-lifetime policy.

For the exact matrix, test contract, commits, and preserved report excerpts, see the Polyglot Runtime and Database Matrix and 2026-08-12 evidence record.

Required Provider Test Matrix

For each database and driver combination, retain:

  • generator/client/runtime/provider/database/driver versions;
  • generated dependency and configuration manifests;
  • schema creation/verification behavior and migration diff;
  • parameter binding and representative type round trips;
  • filter, projection, ordering, pagination, relation, and aggregate results;
  • insert, update, optimistic locking, delete/recover where applicable;
  • graph transaction rollback on child failure;
  • ID allocation, timestamp/time-zone, collation, Unicode, decimal, and null behavior;
  • pool, timeout, TLS, retry, failover, logging, and credential configuration;
  • clean test output, known limitations, and rollback plan.

Switching Providers

Keep generated business queries provider-agnostic, but do not assume provider semantics are interchangeable. Before switching, regenerate from the same model, compare dependency/metadata/schema output, run the required matrix, and retain the old provider configuration and database rollback path.

See Switch Database Provider, Java Compatibility Guide, and Rust Compatibility Guide.