Skip to content

Conversation

staticlibs
Copy link
Collaborator

This PR makes ResultSetMetaData#getPrecision() to return non-zero values for integral numbers, floating point, date/time and string columns.

Unlike the DECIMAL type, where actual column precision is returned, for other types this call is expected to give a hint to a client software how much space the textual representation of the field is going to take. Previously returned 0 value appeared to cause problems in some of such clients.

Values returned are consistent with ones returned by Postgres.

Testing: new test added for all types.

Fixes: #340

This PR makes `ResultSetMetaData#getPrecision()` to return non-zero
values for integral numbers, floating point, date/time and string
columns.

Unlike the `DECIMAL` type, where actual column precision is returned,
for other types this call is expected to give a hint to a client
software how much space the textual representation of the field is
going to take. Previously returned 0 value appeared to cause problems
in some of such clients.

Values returned are consistent with ones returned by Postgres.

Testing: new test added for all types.

Fixes: duckdb#340
@staticlibs staticlibs merged commit 4ccafc4 into duckdb:main Sep 12, 2025
9 checks passed
@staticlibs staticlibs deleted the varchar_precision branch September 12, 2025 11:08
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.

getPrecision() for Varchar returns 0
1 participant