Thread: sum(decimal) not returning dp when query run via ODBC on Linux
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
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
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