bcp.c and 4.2 and/or 7.0

Lowden, James K LowdenJK at bernstein.com
Tue Jun 18 10:55:29 EDT 2002


> From: Bill Thompson [mailto:thompbil at exchange.uk.ml.com]
> Sent: June 18, 2002 7:58 AM
> well it turned out to be easier than I expected, once I got a 
> SQL 7 server
> to play with.
> 
> in bcp.c , change all places where it says IS_TDS80(tds) so 
> that it says
> IS_TDS70(tds) || IS_TDS80(tds). Then at the bottom of the function
> _bcp_send_colmetadata(), you need to change the line:
> 
>        if (is_collate_type(bcpcol->db_type_save))
>        {
>           tds_put_n(tds,bcpcol->db_collate, 5);
>        }
> 
> to read:
> 
>        if (IS_TDS80(tds) && is_collate_type(bcpcol->db_type_save))
>        {
>           tds_put_n(tds,bcpcol->db_collate, 5);
>        }
> 
> It seems that the only (relevant) difference between TDS 7 
> and 8 is the
> addition of the "collation" data for some column types in the 
> colmetadata
> message.

Bill, 

Coolness!  I'll give it hack and let you know.  

I'm going to create a macro IS_TDS7_PLUS to encapsulate "IS_TDS70(tds) ||
IS_TDS80(tds)" in anticipation of future versions.  

Thanks, and give Larry my regards.  

--jkl



More information about the FreeTDS mailing list