[unixODBC-dev] Wrong type for SQLROWSETSIZE

ZIGLIO, Frediano, VF-IT Frediano.Ziglio at vodafone.com
Wed Nov 28 08:16:12 GMT 2007


Hi,
  recently I migrated to Ubuntu 64 and I discovered some problems with
64bit. If full 64bit is used SQLROWSETSIZE is defined to  SQLUINTEGER
(line 177
http://unixodbc.cvs.sourceforge.net/unixodbc/unixODBC/include/sqltypes.h
?view=markup) however this type is used for SQLExtendedFetch
(http://unixodbc.cvs.sourceforge.net/unixodbc/unixODBC/include/sqlext.h?
view=markup line 1861) but under 64bit this type should be SQLULEN
(http://support.microsoft.com/?scid=kb%3Ben-us%3B298678&x=19&y=8).

Looking more deeply at ODBC 64 bit I realized that there are some
inconsistency in Microsoft definition. It appear that row count under 64
bit is 64 bit wide, so SQLExtectedFetch use 64bit and
SQL_ATTR_ROWS_FETCHED_PTR points so a 64 bit int however
SQL_ATTR_ROWS_FETCHED_PTR correspond to SQL_DESC_ROWS_PROCESSED_PTR in
IRD which is not stated as 64 bit in link above. Note also that
SQL_DESC_ROWS_PROCESSED_PTR in IPD correspond to
SQL_ATTR_PARAMS_PROCESSED_PTR in SQLSetStmtAttr which is not 64 bit
wide...

bye
  Frediano Ziglio



More information about the unixODBC-dev mailing list