Обсуждение: a precision problem of the SQL_C_DOUBLE value in the PsqlODBC

Поиск
Список
Период
Сортировка

a precision problem of the SQL_C_DOUBLE value in the PsqlODBC

От
"Hiroki Kataoka"
Дата:
Hi all.

I have found a precision problem of the SQL_C_DOUBLE value in the PsqlODBC.

When the PsqlODBC send a SQL_C_DOUBLE value from the ODBC client application
to PostgreSQL server, the precision is missing.

=====
Hiroki Kataoka




Following is a patch to fix this problem.

*** src.v06-40-0007/convert.c    Fri Apr  9 18:47:40 1999
--- src.v06-40-0007.test/./convert.c    Thu Dec 16 11:51:00 1999
***************
*** 710,721 ****             break;
         case SQL_C_DOUBLE:
!             sprintf(param_string, "%f",                  *((SDOUBLE *) buffer));             break;
         case SQL_C_FLOAT:
!             sprintf(param_string, "%f",                  *((SFLOAT *) buffer));             break;

--- 710,721 ----             break;
         case SQL_C_DOUBLE:
!             sprintf(param_string, "%.16g",                  *((SDOUBLE *) buffer));             break;
         case SQL_C_FLOAT:
!             sprintf(param_string, "%.7g",                  *((SFLOAT *) buffer));             break;