[freetds] SQL_DESC_UNSIGNED column attribute returns the wrong value for tinyint SQL Server columns

James K. Lowden jklowden at freetds.org
Tue Apr 2 11:07:37 EDT 2013


On Mon, 01 Apr 2013 16:03:22 -0600
Sergio delaCruz <sergio.delacruz at oracle.com> wrote:

> When dealing with a bug in our codebase 
> (http://bugs.mysql.com/bug.php?id=68084) we realized that the return 
> value that we get when requesting the SQL_DESC_UNSIGNED attribute via 
> the SQLColAttribute function for a SQL Server TINYINT column differs 
> from what one would expect (SQL_TRUE). Microsoft's drivers return the 
> correct value (TINYINT is by definition unsigned in T-SQL).
> 
> Is this a bug in FreeTDS? Can you comment on this?

Thanks for the problem report.  

src/odbc/odbc.c:3160: 

		/* TODO perhaps TINYINY and BIT.. */
		drec->sql_desc_unsigned = SQL_FALSE;

appears to be the source of your bug.  

>From many TODO comments in the function odbc_populate_ird, it would
appear you will find other discrepancies.  We would be glad to apply
any patches that bring the ird into closer conformance with Microsoft's
driver.  

HTH.  

--jkl



More information about the FreeTDS mailing list