[freetds] SQL_SUCCESS_WITH[out]_INFO in ODBC lib
Nathan Bird
nathan at acceleration.net
Tue Apr 29 10:39:41 EDT 2008
ZIGLIO, Frediano, VF-IT wrote:
>> Nathan Bird wrote:
>>
>>> Reading data in chunks with SQLGetData if the buffer is not
>>>
>> long enough
>>
>>> for the value to copy, it should fill the buffer, and return
>>> SQL_SUCCESS_WITH_INFO, along with setting the
>>>
>> StrLen_or_IndPtr to point
>>
>>> at the how much data is available. At least according to
>>> http://msdn2.microsoft.com/en-us/library//ms715441.aspx [1]
>>>
>> the info
>>
>>> should be "01004" to indicate the string is right
>>>
> - /* not all readed ?? */
> - if (colinfo->column_text_sqlgetdatapos <
> colinfo->column_cur_size)
> - /* TODO add diagnostic */
> +
> + if (colinfo->column_text_sqlgetdatapos <
> colinfo->column_cur_size) { /* not all read ?? */
> + odbc_errs_add(&stmt->errs, "1004",
> "String data, right truncated");
> ODBC_RETURN(stmt,
> SQL_SUCCESS_WITH_INFO);
> + }
>
> IMO is correct!
> 2 is ok, even odbc refer as remaining bytes.
> I would merge part 3 in 0.82 and 2 and 3 in CVS HEAD.
>
> bye
> freddy77
>
I've been wanting to test this before responding again, but haven't
gotten a chance--nor am I likely to soon. So real quick: Shouldn't that
string be "01004" instead of "1004"? That's what the code on my end is
expecting and what
http://msdn2.microsoft.com/en-us/library//ms715441.aspx says...
Thanks
Nathan
More information about the FreeTDS
mailing list