Skip to content

feat: generate safe deterministic Java identifiers - #8

Merged
omer-cengel merged 1 commit into
masterfrom
feature/safe-java-identifiers
Sep 16, 2026
Merged

omer-cengel merged 1 commit into
masterfrom
feature/safe-java-identifiers

Conversation

@omer-cengel

Copy link
Copy Markdown
Member

Summary

Generate valid, deterministic Java identifiers for supported read queries while preserving existing safe API spelling, SQL semantics, JDBC labels, types, and ordering.

Changes

  • Normalize unsafe class, method, parameter, and result-component names using Java 21 rules.
  • Avoid keyword, generated-symbol, inherited-method, and record-component conflicts.
  • Resolve parameter and result-component collisions deterministically in their existing order.
  • Canonicalize quoted SQL identifiers while retaining unquoted JDBC labels.
  • Preserve analyzed SQL exactly when rendering generated Java source.
  • Reject normalized and ordinary case-only output-path collisions before overwriting an existing generated file.

Scope and non-goals

This change applies only to the existing supported read-query subset. It does not introduce configurable naming strategies, new SQL syntax or query types, broader quoted-name resolution, runtime changes, or changes to type and ordering behavior.

@omer-cengel
omer-cengel merged commit 8417c21 into master Sep 16, 2026
1 check passed
@omer-cengel
omer-cengel deleted the feature/safe-java-identifiers branch September 16, 2026 23:23
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