My favorites | Sign in
Project Home Downloads Wiki
READ-ONLY: This project has been archived. For more information see this post.
Search
for
  Advanced search   Search tips   Subscriptions
Issue 360: sybase iq 15.4 integer -1 and 0 return wrong value
3 people starred this issue and may be notified of changes. Back to list
Status:  New
Owner:  ----


 
Reported by lileix...@gmail.com, Mar 6, 2014
What steps will reproduce the problem?
1.a table has a column ,that type is int
2.insert tow value 0 and -1 into the table
3.query the tow row use pyodbc 3.0.7

What is the expected output? What do you see instead?
expected 0 and -1 output,but it return -4294967296 and 4294967295 instead



What version of the product are you using? On what operating system?
 pyodbc3.0.7 & Linux version 2.6.32-279.el6.x86_64 

Please provide any additional information below.


Aug 7, 2014
#1 colorado...@gmail.com
The same problem exists running on RHEL6 against a Sybase IQ database, Sybase ASE database, and a SQL Server database, using Data Direct 7.1 ODBC drivers.  This problem does not manifest in pyodbc-3.0.3.

conn = pyodbc.connect("DSN=...")
cur = conn.execute("select 1 as num")
print cur.fetchall()
print cur.description

[(206158430209, )]
(('num', <type 'int'>, None, 5, 5, 0, False),)

Same code running on RHEL5:

[(1, )]
(('num', <type 'int'>, None, 5, 5, 0, False),)

The ODBC trace files show that, other than the handles (pointers) used, the ODBC processing is identical.

Apr 27, 2015
#2 michaelw...@gmail.com
I experience the exact same problem as mentioned by @colorado with 3.0.7 when querying against Sybase.

import pyodbc
dbconn = pyodbc.connect("DSN=....")
c = dbconn.cursor()
c.execute("select 0, 1, 2, 3, 4, 5, 6")
print c.fetchone()

>> (210453397504, 210453397505, 210453397506, 210453397507, 210453397508, 210453397509, 210453397510)

It seems to be adding 2^32 * 7 **2 to the value for every result. This is true up until 2147483648 is used, at which point values are correct and are returned as type Long.

The exact same script using 3.0.3 returns the correct values. I am using RHEL6.



Powered by Google Project Hosting