From: Kevin K. <ke...@ac...> - 2009-01-04 22:51:00
|
I am pleased to announce that the current baseline of TDBC, tagged '1.0b5' and bearing the ID, 46df70f083, is available. This release includes what I believe to be functionally complete versions of the TDBC base classes and tokenizer (matching the versions on the Tcl HEAD), together with the following three drivers: tdbc::odbc - A bridge that allows connection to any ODBC-compliant database. This module builds on Windows, and is expected to build on any Unix system with the 'unixodbc' package. tdbc::sqlite3 - A connector that joins TDBC to SQLite3. This connector is written in pure Tcl (using the 'sqlite3' extension), and is expected to run anywhere that SQLite3 runs. tdbc::mysql - A connector that joins TDBC to MySQL. This connector demands headers and libraries for MySQL 5.1 or better. It is all-new C code, not directly derived from Artur Trzewik's fine 'mysqltcl' binding. It uses the MySQL prepared statement interface, so it is expected to be relatively immune to SQL insertion attacks, without depending on mysql_real_escape_string or relatives. These modules are all obtainable as as single ZIP archive at http://tdbc.tcl.tk/ All three of these modules can be built and installed on Unix with a typical Posix toolchain, and on Windows with msys/mingw. Obviously, more work needs to be done for TDBC to achieve world domination. Important further work that is needed: (1) Revise the 'errorCode' lists returned by the various TDBC commands to make more sense with Tcl's new [try] command. This is a fairly mechanical project. Contact me directly if you're interested in taking it on, and I'll advise about what needs to be done. (2) All three of these modules need Makefile.vc, for building with Visual Studio on Windows systems. (3) Binary distributions for the various platforms need to be packaged. (4) More drivers are needed! I know that various people over the last few months have volunteered to work on drivers, but I haven't been maintaining a registry of who's doing what. I think that the project Wiki at tdbc.tcl.tk would be a good place to do that. In particular, people have requested: - pgsql - Sql Server native API - Oracle and several less popular databases. (5) Packaging advice is needed from downstream distributors, particularly as regards the package dependencies. The database drivers usually have complex dependencies; for instance, tdbc::sqlite depends at run time on TDBC itself, and on the 'sqlite3' Tcl extension. (Being a pure Tcl solution, it has no build-time dependencies.) tdbc::mysql depends on mysql 1.5 or better (built with threads), and this is a build-time dependency because it needs #include files and a link library. Clearly, we don't want to bundle all the dependencies with Tcl itself. Bugs and feature requests can be logged at http://tdbc.tcl.tk/ I welcome broader exposure of all three of these modules, which while still 'experimental', should be considered as being on track for release. -- 73 de ke9tv/2, Kevin |