[freetds] 0.65 news

Frediano Ziglio freddyz77 at tin.it
Sat Apr 15 12:12:05 EDT 2006


Well, what's going on on CVS. Beside minor updates, cleanup,
optimizations and so on (not last the good configure rewrite by James)
I'm introducing changes:

Conversions
===========
src/tds/convert.c now support some "virtual" types. The base idea is to
allow client to pass a buffer and convert should put it's output in
these buffers. New types (cfr include/tdsconvert.h) are TDS_CONVERT_CHAR
and TDS_CONVERT_BINARY witch these new types in CONV_RESULT

        /* sizef types */
        struct cc_t {
                TDS_CHAR *c;
                TDS_UINT len;
        } cc;
        struct cb_t {
                TDS_CHAR *ib;
                TDS_UINT len;
        } cb;
tds_convert act for these type (only for output!) similarly to SYBCHAR,
SYBBINARY but without any allocation and output truncated to given
buffer (and with string not 0 terminated!). Naturally the first library
that will use these types will be ODBC.. I hope to avoid a copy and a
useless malloc/free.

Cursors
=======
Well, not that active but there are some works for ODBC cursors and some
tests too. Fell free to post any test you suite, they will work in
future release.

Tests
=====
As someone should have noted there are some new tests at
http://freetds.sourceforge.net/out/test/, mainly DBD::ODBC and php which
are all working. Is now easy to write tests in php (currently using
mssql extension). I start moving coding FreeTDS in a test driven way, I
think that so we lead to a more consistent way. In other word a fix now
is a fix forever.

Headers
=======
I finally removed ident strings ($Id$) from includes. Perhaps ident will
be less useful however I cannot find a better way to spread all over our
ident strings... ODBC which was already optimized for this issue reduce
about 3% in size! I'm too paranoid :)

freddy77




More information about the FreeTDS mailing list