Repository navigation
feat: map REAL, DOUBLE PRECISION, BYTEA, and TIME to Java types - #50
Merged
omer-cengel merged 2 commits intoSep 28, 2026
Merged
Conversation
omer-cengel
deleted the
feature/floating-point-binary-and-time-types
branch
September 28, 2026 17:49
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Columns declared as
REAL,DOUBLE PRECISION,BYTEA, orTIMEpreviously had no Java mapping and failed any query that used them. They now generateFloat,Double,byte[], andjava.time.LocalTimefor query parameters and result components, so everyday numeric, binary, and time-of-day columns can be read and written through generated repositories.Changes
REALandFLOAT4toFloat,DOUBLE PRECISIONandFLOAT8toDouble,BYTEAtobyte[], andTIMEandTIME WITHOUT TIME ZONEtojava.time.LocalTime, matched case-insensitively with type arguments such asTIME(3)ignored.java.time.LocalTimein generated repositories and row records that use it; values are read withresultSet.getObject(position, Type.class)and bound unchanged, with no runtime change.byte[]), and a PostgreSQL round trip of non-null and null values through generated code.LocalTimeimport, and the unmapped spellings in the PostgreSQL guide.Scope and non-goals
FLOATandFLOAT(p), whose precision selects the type, andTIME WITH TIME ZONE/TIMETZremain unmapped and are recorded as unsupported types.REAL[], remain unsupported;byte[]is the only generated array type.byte[]component by reference, so two rows holding equal bytes are notequals.JSON/JSONB, enums, and arrays are not part of this change.