Skip to content

feat: bind null query parameters and verify generation on PostgreSQL - #16

Merged
omer-cengel merged 4 commits into
masterfrom
feature/postgresql-integration-null-parameter-binding
Sep 19, 2026
Merged

omer-cengel merged 4 commits into
masterfrom
feature/postgresql-integration-null-parameter-binding

Conversation

@omer-cengel

Copy link
Copy Markdown
Member

Summary

Generated query methods can now pass null arguments to the runtime, and the
whole compiler pipeline is exercised against a real PostgreSQL instance instead
of an in-memory database only. Previously a generated method rejected a null
argument while assembling its parameter list, so a nullable column could never
be written as null through generated code.

Changes

  • Generated methods collect executor arguments in a null-tolerant fixed-size
    list, so a null argument reaches the JDBC runtime and is bound as SQL NULL.
  • Added an end-to-end integration test that runs the accepted schema snapshot as
    real PostgreSQL DDL, compiles the generated Java, and executes the generated
    classes through the JDBC runtime for typed reads and writes.
  • The integration test writes an all-NULL row through a generated write method
    and reads it back through a generated read method, covering SMALLINT,
    VARCHAR, TEXT, BOOLEAN, DATE, TIMESTAMP, and DECIMAL.
  • Added test-scoped PostgreSQL driver and container dependencies, and pinned a
    transitive compression dependency to a version without known advisories.
  • The PostgreSQL tests are skipped, not failed, when no container runtime is
    available, so the suite still runs on machines without one.

Scope and non-goals

  • Generated class names, method signatures, parameter names, result records,
    imports, and the executor and row-mapper runtime interfaces are unchanged.
  • No new SQL types, schema forms, or query shapes are accepted; the tests
    exercise the already-supported subset.
  • RETURNING, transactions, and additional PostgreSQL types remain unsupported.

@omer-cengel
omer-cengel merged commit af72584 into master Sep 19, 2026
6 checks passed
@omer-cengel
omer-cengel deleted the feature/postgresql-integration-null-parameter-binding branch September 19, 2026 17:46
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