Skip to Content.
Sympa Menu

freetds - [freetds] ODBC on 64 bit linux - test64

freetds AT lists.ibiblio.org

Subject: FreeTDS Development Group

List archive

Chronological Thread  
  • From: "ZIGLIO, Frediano, VF-IT" <Frediano.Ziglio AT vodafone.com>
  • To: "FreeTDS Development Group" <freetds AT lists.ibiblio.org>
  • Cc: unixodbc-dev AT easysoft.com
  • Subject: [freetds] ODBC on 64 bit linux - test64
  • Date: Mon, 21 Jan 2008 15:33:05 +0100

Sebastien just reported to me log from tests ran under win64. test64
return

start test test64.exe
odbctest
--------

connection parameters:
server: 'egServer80'
user: 'f4gl'
password: '????'
database: 'testdb'
use testdb
create table #tmp1 (i int)
INSERT INTO #tmp1(i) VALUES(?)
INSERT INTO #tmp1(i) VALUES(?)
INSERT INTO #tmp1(i) VALUES(?)
SELECT DISTINCT i FROM #tmp1
SELECT DISTINCT i FROM #tmp1
SELECT DISTINCT i FROM #tmp1
ok test test64.exe

Well... what's test64 and what does this result mean??

test64 tests (currently) SQL_DESC_ROWS_PROCESSED_PTR. This pointer holds
the pointer to how many rows are returned/processed. I wrote test cause
this pointer is bound to many attributes. The test demonstrate that
indipendently from how you set this pointer it's always SQLULEN (that is
64bit on 64bit platforms). So
- SQLSetStmtAttr SQL_ATTR_PARAMS_PROCESSED_PTR
- SQLSetDescField SQL_DESC_ROWS_PROCESSED_PTR (both IPD and IRD)
- SQLSetStmtAttr SQL_ATTR_PARAMS_PROCESSED_PTR
- parameter pirow of SQLParamOptions
- parameter RowCountPtr of SQLExtendedFetch
are SQLULEN* under 64bit!
This is not well stated at http://support.microsoft.com/kb/298678 !!
For this reason SQLROWSETSIZE unixODBC type should be SQLULEN not
SQLUINTEGER !!

Frediano Ziglio




Archive powered by MHonArc 2.6.24.

Top of Page