Обсуждение: [PostgresJDBCDriver 42.2.2 Strange Behavior] Observed precision andscale being set as 17 for 'Double Precision data type'

Поиск
Список
Период
Сортировка
Hi Postgres Team,

I have observed PostgresJDBCDriver 42.2.2 returning precision and scale both same as 17 for 'double precision' data type.

Ideally scale should not be same as precision otherwise it will indicate only value between o and 1(exclusive) are allowed to load in it.

Can you please look in to this issue and please let me understand why precision and scale has been set as 17(hardcoded value) for postgres 'double precision' data type?

GIT Src code link for reference[Hardcoded '17']:
https://github.com/pgjdbc/pgjdbc/blob/d5f1cf7c35b05318947021d41e73b6953f623256/pgjdbc/src/main/java/org/postgresql/jdbc/TypeInfoCache.java#L659
On 19-4-2018 05:36, Sachin Kumar wrote:
> Hi Postgres Team,
> 
> I have observed PostgresJDBCDriver 42.2.2 returning precision and scale 
> both same as 17 for 'double precision' data type.

Scale has no meaning for double precision, as such it should return 0 
always (from the javadoc of ResultSetMetaData.getScale(..): "Gets the 
designated column's number of digits to right of the decimal point. 0 is 
returned for data types where the scale is not applicable.".

It sounds like a bug to me, to be honest.

> Ideally scale should not be same as precision otherwise it will indicate 
> only value between o and 1(exclusive) are allowed to load in it.
> 
> Can you please look in to this issue and please let me understand why 
> precision and scale has been set as 17(hardcoded value) for postgres 
> 'double precision' data type?
> 
> GIT Src code link for reference[Hardcoded '17']:
>
https://github.com/pgjdbc/pgjdbc/blob/d5f1cf7c35b05318947021d41e73b6953f623256/pgjdbc/src/main/java/org/postgresql/jdbc/TypeInfoCache.java#L659

> 


-- 
Mark Rotteveel


Please file an issue here https://github.com/pgjdbc/pgjdbc/issues


On 20 April 2018 at 08:39, Mark Rotteveel <mark@lawinegevaar.nl> wrote:
On 19-4-2018 05:36, Sachin Kumar wrote:
Hi Postgres Team,

I have observed PostgresJDBCDriver 42.2.2 returning precision and scale both same as 17 for 'double precision' data type.

Scale has no meaning for double precision, as such it should return 0 always (from the javadoc of ResultSetMetaData.getScale(..): "Gets the designated column's number of digits to right of the decimal point. 0 is returned for data types where the scale is not applicable.".

It sounds like a bug to me, to be honest.


Ideally scale should not be same as precision otherwise it will indicate only value between o and 1(exclusive) are allowed to load in it.

Can you please look in to this issue and please let me understand why precision and scale has been set as 17(hardcoded value) for postgres 'double precision' data type?

GIT Src code link for reference[Hardcoded '17']:
https://github.com/pgjdbc/pgjdbc/blob/d5f1cf7c35b05318947021d41e73b6953f623256/pgjdbc/src/main/java/org/postgresql/jdbc/TypeInfoCache.java#L659


--
Mark Rotteveel