Re: BUG #13885: float->string conversion loses precision server-side on JDBC connection - Mailing list pgsql-bugs

From Xtra Coder
Subject Re: BUG #13885: float->string conversion loses precision server-side on JDBC connection
Date
Msg-id CAL2enjKTr_g8hqa6maJy3PVUF5dw4pUPP8JvZa1Mq0cDD55pwg@mail.gmail.com
Whole thread Raw
In response to Re: BUG #13885: float->string conversion loses precision server-side on JDBC connection  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-bugs
Yes, this is not bug in terms of 'float->string' convertion - people in
other forum also pointed out to JDBC, "extra_float_digits" and consequences.


On Mon, Jan 25, 2016 at 7:06 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:

> xtracoder@gmail.com writes:
> > I have a PostgreSQL function, which accepts JSON, performs some
> processing,
> > and returns JSON. Something strange is happening when calling stored
> > procedure from Java application - float->string conversion is incorrect.
>
> I don't think it's "incorrect".  I believe the displayed difference here
> is because the JDBC driver sets extra_float_digits to 3 or so.
> Compare this in psql:
>
> regression=# do $$ declare x float := 4.1; begin raise notice 'x = %', x;
> end$$;
> NOTICE:  x = 4.1
> DO
> regression=# set extra_float_digits = 3;
> SET
> regression=# do $$ declare x float := 4.1; begin raise notice 'x = %', x;
> end$$;
> NOTICE:  x = 4.09999999999999964
> DO
>
> The uglier-looking number is a more precise representation of the actual
> float4 value.
>
>                         regards, tom lane
>

pgsql-bugs by date:

Previous
From: Vitaly Burovoy
Date:
Subject: Re: BUG #13883: Very Important Facility
Next
From: v_bilyak@mail.ru
Date:
Subject: BUG #13889: psql doesn't exequte correct script