Re: Bug? The precision from the ODBC API is not same to psql

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: "James (Ke) Wang" <james(dot)wang(at)sas(dot)com>
Cc: "pgsql-odbc(at)postgresql(dot)org" <pgsql-odbc(at)postgresql(dot)org>
Subject: Re: Bug? The precision from the ODBC API is not same to psql
Date: 2021-08-30 14:02:25
Message-ID: 1348704.1630332145@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-odbc

"James (Ke) Wang" <james(dot)wang(at)sas(dot)com> writes:
> * PostgreSQL ODBC driver version: 13.01.00
> * PostgreSQL database version: PostgreSQL 10.17 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-44), 64-bit
> * any error messages you saw on the screen: No. However the result from ODBC API is not expected, we expect the ODBC driver returns the result same to Psql utility. Please see the below logs.

You can get the same result in psql, if you set extra_float_digits
correctly:

regression=# select 51.3::float8;
float8
--------
51.3
(1 row)
regression=# set extra_float_digits = 2;
SET
regression=# select 51.3::float8;
float8
--------------------
51.299999999999997
(1 row)

So presumably either ODBC or something in your application is
setting that parameter.

FWIW, PG version 12 and newer won't do that; they use a newer
floating-point printing algorithm with less inclination to
produce silly-looking results.

regards, tom lane

In response to

Browse pgsql-odbc by date

  From Date Subject
Next Message Andreas Beier 2021-09-08 12:34:28 Excel ODBC query loosing parameter when returning the query result directly to a pivot table.
Previous Message James (Ke) Wang 2021-08-30 07:19:56 The precision from the ODBC API is not same to psql