Skip to Content.
Sympa Menu

freetds - Re: rc1 this weekend

freetds AT lists.ibiblio.org

Subject: FreeTDS Development Group

List archive

Chronological Thread  
  • From: "Thompson, Bill D (London)" <ThompBil AT exchange.uk.ml.com>
  • To: "'TDS Development Group'" <freetds AT franklin.oit.unc.edu>
  • Subject: Re: rc1 this weekend
  • Date: Fri, 6 Sep 2002 15:41:29 +0100


Guys,

> * The fields column_usertype and column_flags should be capable
> of holding a 32bit quantity
>

At the moment, these two fields are both set up as 2 bytes each, as per the
TDS 7/8 protocol.
The only reason to store them at the moment is so that they can be sent back
to SQL server as part of the bcp packet.
In process_result, we interrogate the flags data to derive the "nullable"
indicator amongst other information. This data is stored independently.

The SQL server bcp protocol requires the client to send back a results or
metadata message, followed by the row data.
Both of these are in the exact format as the data returned from a query. So
what I do is

1) issue a "select * from <table_name> where 1 = 2" on bcp_init()

2) store all the relevant row information ( including these two fields and
the "collate" field and the original coltype (coltype_save) )

3) send a "BULK INSERT" statement, followed by a re-constructed "results"
message, followed by the row data.

I think (from memory) that I worked out that Sybase sends these two items
back as 4 bytes. but we don't do bcp the same way in TDS 5, so we don't need
to store them.


Hope this explains,

Bill

> -----Original Message-----
> From: Frediano Ziglio [SMTP:freddyz77 AT tin.it]
> Sent: Friday, September 06, 2002 2:54 PM
> To: TDS Development Group
> Subject: [freetds] Re: rc1 this weekend
>
>
> > * Unknown byte in tds_process_result can actually be followed
> > by another field
> >
>
> Good, as documented is a locale information (not still used in FreeTDS)
>
> > * Extended capability string to provide room for more bits
> >
> >
>
> Bad, wire can change too test to do...
>
> > * The fields column_usertype and column_flags should be capable
> > of holding a 32bit quantity
> >
>
> Quite good, but why flag should be int ?? Is just a byte... Also it set
> other column property...
>
> freddy77
>
>
>
> ---
> You are currently subscribed to freetds as: [thompbil AT exchange.uk.ml.com]
> To unsubscribe, forward this message to
> $subst('Email.Unsub')





Archive powered by MHonArc 2.6.24.

Top of Page