Skip to content

docs: describe the PostgreSQL contract and supported types - #19

Merged
omer-cengel merged 1 commit into
masterfrom
chore/postgresql-support-documentation
Sep 19, 2026
Merged

omer-cengel merged 1 commit into
masterfrom
chore/postgresql-support-documentation

Conversation

@omer-cengel

Copy link
Copy Markdown
Member

Summary

sqlcj targets PostgreSQL and JDBC, but nothing in the repository stated that
contract or which SQL types and CREATE TABLE constructs a schema snapshot may
actually use. This adds a single user-facing document that states the database
contract of configuration version "1" and publishes the supported type and DDL
surface, describing only behavior the existing tests demonstrate.

Changes

  • Document configuration version "1" as PostgreSQL schema and query input with
    blocking JDBC execution, with no engine option and no dialect option.
  • State that the application owns the connection: the runtime is constructed
    with a javax.sql.DataSource, no JDBC driver is shipped, and behavior is
    verified against PostgreSQL 16 while H2 remains a test-only convenience.
  • Publish the accepted column types and alias spellings with their Java
    mappings, including case-insensitive matching with type arguments ignored.
  • Separate the accepted, ignored, and rejected CREATE TABLE constructs, and
    record that constraints never change generated Java.
  • Describe the null contract: reference types throughout, uniform positional
    binding and reading, and NOT NULL as the only source of column nullability.
  • List the rejected type spellings and unsupported type families, the CLI
    failure behavior, and the tests that back each published table.

Scope and non-goals

  • Documentation only. No production, test, or build file changes, and no
    documentation-verification machinery such as Markdown-parsing tests.
  • No release packaging, README, quickstart, or distribution documentation.
  • Query shape, cardinality, parameter ordering, naming, and runtime-ownership
    contracts are only described where the schema and type contract requires it.

@omer-cengel
omer-cengel merged commit 8b40173 into master Sep 19, 2026
6 checks passed
@omer-cengel
omer-cengel deleted the chore/postgresql-support-documentation branch September 19, 2026 22:10
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