[ psqlodbc-Bugs-1000567 ] Discrepant results versus other connections

From: <noreply(at)pgfoundry(dot)org>
To: noreply(at)pgfoundry(dot)org
Subject: [ psqlodbc-Bugs-1000567 ] Discrepant results versus other connections
Date: 2006-03-14 13:45:46
Message-ID: 20060314134546.9D1DC1033896@pgfoundry.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-odbc

Bugs item #1000567, was opened at 2006-02-25 03:23
You can respond by visiting:
http://pgfoundry.org/tracker/?func=detail&atid=538&aid=1000567&group_id=1000125

Category: None
Group: None
Status: Open
Resolution: None
Priority: 3
Submitted By: Nobody (None)
Assigned to: Nobody (None)
Summary: Discrepant results versus other connections

Initial Comment:
I've found a case where psqlODBC doesn't match JODBC, psql, or Perl-DBD::Pg. It looks like a numeric/floating point issue perhaps?

Using psqlodbc-08.00.0100 and psqlodbc-08.01.0200. Both compiled as 64bit, Postgres 8.0.1.

Sample code:

CREATE OR REPLACE FUNCTION plpgsql_multiply(numeric, float) RETURNS numeric AS $$
DECLARE
BEGIN
RETURN $1 * $2;
END
$$ LANGUAGE plpgsql;

CREATE OR REPLACE FUNCTION perl_ge(numeric, float) RETURNS bool AS $$
if ($_[0] >= $_[1]) { return true; }
return false;
$$ LANGUAGE plperl;

SELECT perl_ge(47.3, plpgsql_multiply(43, 1.1));

-- true using JODBC, DBD::Pg, psql
-- false using ODBC

----------------------------------------------------------------------

>Comment By: Hiroshi Saito (h-saito)
Date: 2006-03-14 22:45

Message:
Output of Debug is performed as follows.

bsd2% odbc_config --odbcini
/usr/local/etc/odbc.ini

[ODBC Data Sources]
PostgreSQLw = PostgreSQLw

[PostgreSQLw]
Driver = /usr/local/lib/psqlodbcw.so
;Description = PostgreSQLW
;Servername = localhost
Servername = 192.168.0.2
Username = saito
Database = saito
SSLmode = prefer
Port = 5432
Protocol = 7.2
CommLog = true
Debug = 1

mylog output is in this place.
/tmp/mylog_saito57977.log

----------------------------------------------------------------------

Comment By: Bryce Baril (vaticide)
Date: 2006-03-14 05:41

Message:
Again I apologize, but hopefully this can help someone else out, too. I've set Debug=1, now where do I look for the mylog output?

----------------------------------------------------------------------

Comment By: Hiroshi Inoue (hinoue)
Date: 2006-03-13 13:48

Message:
Please set "Debug=1" in your ODBC.ini.

----------------------------------------------------------------------

Comment By: Bryce Baril (vaticide)
Date: 2006-03-10 04:37

Message:
Please forgive my ignorance, but how do I get mylog input?

----------------------------------------------------------------------

Comment By: Hiroshi Inoue (hinoue)
Date: 2006-03-09 23:20

Message:
Can you get the mylog output ?

----------------------------------------------------------------------

Comment By: Bryce Baril (vaticide)
Date: 2006-03-09 04:22

Message:
IT tells me our driver manager is: unixODBC-2.2.10-64bit

----------------------------------------------------------------------

Comment By: Hiroshi Inoue (hinoue)
Date: 2006-03-08 23:36

Message:
What driver manager are you using ?
Is it a 64bit version ?

----------------------------------------------------------------------

Comment By: Bryce Baril (vaticide)
Date: 2006-03-07 01:54

Message:
I'm using iSQL for testing, but the problem was discovered using SAS.

In iSQL I simply use the SELECT statement above to get the result, if that is what you are asking.

----------------------------------------------------------------------

Comment By: Hiroshi Inoue (hinoue)
Date: 2006-03-02 08:40

Message:
How are you calling the function concretely using ODBC ?

----------------------------------------------------------------------

You can respond by visiting:
http://pgfoundry.org/tracker/?func=detail&atid=538&aid=1000567&group_id=1000125

Browse pgsql-odbc by date

  From Date Subject
Next Message noreply 2006-03-14 19:29:40 [ psqlodbc-Bugs-1000586 ] Confusing to download current version
Previous Message Bart Samwel 2006-03-13 10:37:12 Most recent driver aborts transaction after one error