freetds AT lists.ibiblio.org
Subject: FreeTDS Development Group
List archive
- From: Frediano Ziglio <freddy77 AT gmail.com>
- To: FreeTDS <freetds AT lists.ibiblio.org>
- Subject: [freetds] Last commits and sql 2008
- Date: Wed, 10 Aug 2011 21:07:11 +0200
Hi,
for people used to use snapshot versions should have noted in these
days a lot of changes. I'm committing a lot of patches for tds 7.3
support (that is mssql 2008). Mainly I added new date/time types (mssql
2008 supports tables only for input so if we don't pass tables there is
no need to implement them).
The main change is that now TDSCOLUMN contains a pointer to
TDSCOLUMNFUNCS which is a virtual table translation from C++ to C.
The main reason is that data handling was all in some monstrous
functions spread all over the code. In mem.c to allocate row, in query.c
to pass as parameters, in token.c to read from server, bulk.c to pass
bulk data (and perhaps some other). Also some functions was a series of
if this type, if this other set of types and so on which was mostly
false for some simple types. So adding new data type (as new date/time)
was really a pain and I decided to choose this approach.
Currently there are 5 functions:
- get_info get metadata informations from wire
- get get data from wire
- put_info write metadata to write
- put write data to wire
- row_len how many bytes are required in row buffer
Still missing
- functions for bulk data
- getting type declaration
odbc is in a good shape, with some work new date/time should be fully
supported. Still missing checks for metadata informations (like concise
type, scale/precision, display size and so on).
Still to decide what to do with other libraries (ctlib and dblib) but I
think that is time to break fully compatibility with proprietary
libraries.
Recently I tried protocol 4.2 with our unitests... a real nightmare! But
after some seconds I decided to just ignore them as nobody have noted
it... I think nobody will claim :)
bye
freddy77
- [freetds] Last commits and sql 2008, Frediano Ziglio, 08/10/2011
Archive powered by MHonArc 2.6.24.