Re: FreeTDS 0.82 no longer has tds.h installed?

"James K. Lowden" <[email protected]>
Newsgroups gmane.comp.db.tds.freetds
Message-ID <[email protected]>
Dossy Shiobara wrote:
> 
> On 2008.04.19, James K. Lowden <[email protected]> wrote:
> > Both FreeTDS and the AOLserver project would be better off if
> > AOLserver used a client library instead.  
> 
> Has someone verified thread-safety, all the way through the client
> library layer?

Hi Dossy, 

I don't know about "verified".  db-lib doesn't permit multiple threads to
share a connection, but we assert it's otherwise thread-safe.  

> This was, IIRC, the primary reason why I went straight to the tds_*
> functions rather than trying to use db-lib or ct-lib.  

db-lib was invented a decade before multithreading.  ct-lib should be
threadsafe, period, according to Sybase's specification cf.
http://manuals.sybase.com:80/onlinebooks/group-cn/cng1251e/ctref/@Generic__BookTextView/12662;pt=13641#X.
 

That said, ct-lib, although it supports DBD::Sybase and sqsh acceptably,
is the weak sister nowadays, with no one actively adding to it.  Your
involvement could change that, which is what I meant by both projects
benefitting.  Instead of maintaining something special to AOLserver, you'd
be maintaining a generalized, well defined interface.  

> I don't see how to set the TDS
> protocol version any more.  Previously, it was easy as invoking
> tds_set_version().  Is this done through dbsetlversion()?  

Ouch!  tds_set_version still works.  dbsetlversion is how db-lib Microsoft
specifies the same idea in db-lib.  FreeTDS implements it as defined by
Microsoft, but it could be generalized.  

We should probably invent "dbsettdsversion()" as the inverse of dbtds().  

> Does db-lib or ct-lib offer millisecond-granularity timeouts?  Or, is it
> in whole seconds?  

No, but we could discuss ways to make that possible.  

I'm a little surprised this is a requirement, insofar as database drivers
generally can't be depended on for that kind of granularity.  ODBC
SQL_ATTR_CONNECTION_TIMEOUT is specified in seconds.  Timeout handling was
quite broken in FreeTDS prior to 0.82.  

> I guess nsfreetds operates like just another "client library" for
> AOLserver application code.  Perhaps I'll look and see what it will take
> to build libtds again in 0.82.  Thanks for the idea.

Always happy to help another free software project! 

I think you'll find that the static library libtds.a is built.  You
probably just need to copy the headers and the library to your standard
tree and re-link.  
Regards, 

--jkl
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.