Обсуждение: sum(decimal) not returning dp when query run via ODBC on Linux

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

sum(decimal) not returning dp when query run via ODBC on Linux

От
the6campbells
Дата:
query works fine via ODBC on Windows and via the SQL Gui on both Linux and Windows against the same instance of Postgres 8.4 (running on Windows).

any suggestions?

postgres on linux
"PostgreSQL 8.4.2 on i686-pc-linux-gnu, compiled by GCC gcc (GCC) 3.4.6 20060404 (Red Hat 3.4.6-10), 32-bit"
postgres on windows
"PostgreSQL 8.4.1, compiled by Visual C++ build 1400, 32-bit"


CREATE TABLE tdec
(
  rnum integer NOT NULL,
  cdec numeric(7,2)
)

-1.00
0.00
1.00
0.10
10.00

using isql or an application using the ODBC driver

SQL> select sum (cdec) from tdec
+-------------+
| sum         |
+-------------+
| 10          |
+-------------+
SQLRowCount returns 1
1 rows fetched
SQL> select * from tdec
+------------+----------+
| rnum       | cdec     |
+------------+----------+
| 0          |          |
| 1          | -1       |
| 2          | 0        |
| 3          | 1        |
| 4          | 0        |
| 5          | 10       |
+------------+----------+

Doing a simple prepare and describe col

  Out:
    Column Name: sum
    *Name Length Ptr: 3
    *Data Type Ptr: SQL_NUMERIC (2)
    *Column Size Ptr: 10
    *Decimal Digits Ptr: 5
    *Nullable Ptr: 1

odbc.ini

[PG84]
Description             = PostgreSQL
Driver          = psqlODBC
Database                = test
Servername              = remotebox
Username                = test
Password                = test123$
Port            = 5432
Protocol                = 7.4
ReadOnly                = No
RowVersioning           = No
ShowSystemTables        = No
ShowOidColumn           = No
FakeOidIndex            = No


Re: sum(decimal) not returning dp when query run via ODBC on Linux

От
Hiroshi Inoue
Дата:
the6campbells wrote:
> query works fine via ODBC on Windows and via the SQL Gui on both Linux
> and Windows against the same instance of Postgres 8.4 (running on Windows).
>
> any suggestions?

Which version of psqlodbc driver are you using?
The recently released version (8.4.0200) will fix the problem.

regards,
Hiroshi Inoue

> postgres on linux
> "PostgreSQL 8.4.2 on i686-pc-linux-gnu, compiled by GCC gcc (GCC) 3.4.6
> 20060404 (Red Hat 3.4.6-10), 32-bit"
> postgres on windows
> "PostgreSQL 8.4.1, compiled by Visual C++ build 1400, 32-bit"
>
>
> CREATE TABLE tdec
> (
>   rnum integer NOT NULL,
>   cdec numeric(7,2)
> )
>
> -1.00
> 0.00
> 1.00
> 0.10
> 10.00
>
> using isql or an application using the ODBC driver
>
> SQL> select sum (cdec) from tdec
> +-------------+
> | sum         |
> +-------------+
> | 10          |
> +-------------+
> SQLRowCount returns 1
> 1 rows fetched
> SQL> select * from tdec
> +------------+----------+
> | rnum       | cdec     |
> +------------+----------+
> | 0          |          |
> | 1          | -1       |
> | 2          | 0        |
> | 3          | 1        |
> | 4          | 0        |
> | 5          | 10       |
> +------------+----------+
>
> Doing a simple prepare and describe col
>
>   Out:
>     Column Name: sum
>     *Name Length Ptr: 3
>     *Data Type Ptr: SQL_NUMERIC (2)
>     *Column Size Ptr: 10
>     *Decimal Digits Ptr: 5
>     *Nullable Ptr: 1
>
> odbc.ini
>
> [PG84]
> Description             = PostgreSQL
> Driver          = psqlODBC
> Database                = test
> Servername              = remotebox
> Username                = test
> Password                = test123$
> Port            = 5432
> Protocol                = 7.4
> ReadOnly                = No
> RowVersioning           = No
> ShowSystemTables        = No
> ShowOidColumn           = No
> FakeOidIndex            = No