[unixODBC-dev] Wrong type for SQLROWSETSIZE

Nick Gorham nick.gorham at easysoft.com
Wed Nov 28 09:45:27 GMT 2007


ZIGLIO, Frediano, VF-IT wrote:

>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
>_______________________________________________
>unixODBC-dev mailing list
>unixODBC-dev at easysoft.com
>http://mail.easysoft.com/mailman/listinfo/unixodbc-dev
>
>
>  
>
Yep, fun isn't it. Thats part of why originally I used a 32 bit 
definition of SQLLEN, as thats what MS used at the time.

2.2.13 is designed to shift to defaut to 64 bit ULEN, I guess I need to 
resolve what a SQLROWSETSIZE is in that case.

-- 
Nick Gorham
Easysoft Limited
http://www.easysoft.com, http://www.unixODBC.org




More information about the unixODBC-dev mailing list