Skip to content

Validate schema compatibility and retain runtime gates - #201

Merged
philipgreat merged 4 commits into
mainfrom
feature/port-recovered-schema-gates
Sep 30, 2026
Merged

philipgreat merged 4 commits into
mainfrom
feature/port-recovered-schema-gates

Conversation

@philipgreat

Copy link
Copy Markdown
Contributor

Closes #200.

What changed

  • fail closed when existing SQL columns conflict with the model type, nullability, VARCHAR length, or decimal value domain
  • propagate required metadata through GenericSQLProperty
  • expose compatible shape metadata from SQLite, MySQL, PostgreSQL, and DuckDB adapters
  • retain bounded optimistic-contention and real SQLite multi-connection ID allocation tests
  • add DuckDB JDBC integration coverage and a two-example runtime gate

Compatibility

Providers that only report column names continue to work; value-domain checks activate only when usable type metadata is present. This preserves the current context-owned schema and indexExists contracts rather than restoring recovery-era APIs.

Verification

  • mvn -q -pl teaql-sql-portable,teaql-sqlite,teaql-mysql,teaql-postgres,teaql-duckdb -am test
  • DuckDB integration gate with JDBC 1.0.0 and 1.5.5.1
  • SQLite ID concurrency gate repeated four times
  • examples/verify-runtime-examples.sh: 2/2 passed

@philipgreat
philipgreat merged commit 416f9ac into main Sep 30, 2026
5 checks passed
@philipgreat
philipgreat deleted the feature/port-recovered-schema-gates branch September 30, 2026 16:09
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.

Port recovered schema compatibility and runtime gates

1 participant