[Sqlrelay-discussion] SQL Relay 0.50 is out
Brought to you by:
mused
From: David M. <dav...@fi...> - 2013-02-22 23:24:03
|
Hello all, SQL Relay version 0.50 is now available. This release mainly fixes a few issues relevant to users of Microsoft SQL Server. The following client C++ API methods, equivalent methods and functions in other API's and equivalent commands in sqlrsh now work properly with SQL Server via FreeTDS: getDbVersion() getDatabaseList() getTableList() getColumnList() The FreeTDS code has been updated as well. FreeTDS (and the TDS protocol in general) doesn't support fetching multiple result sets simultaneously through the same connection. Any attempt to do so results in the error: "Attempt to initiate a new Adaptive Server operation with results pending." SQL Relay has always attempted to work around this by caching the entire result set on the client by default but there was a subtle bug that could cause the error to still occur under certain circumstances. That bug has been fixed and everything now works as expected. I added an entry to the FAQ about it as well. Parameters have been added to sqlrelay.conf for reformatting dates in the result set as well. Many databases provide limited or no control over the formatting of dates and times in the result set. This is problematic when migrating from one database to another if the databases have different date/time formats and the application expects a particular format. To help remedy this the datetimeformat, dateformat, timeformat and dateddmm parameters have been added to allow dates in the result set to be reformatted by SQL Relay before they are sent to the client. Various other bug fixes and updates have also been made: * fixed the sqlrserver-config script to return data for libsqlrserver rather than libsqlrconnection * added a test for SQLROWSETSIZE for odbc that doesn't define it * fixed a NULL dereference in custom_nw logger * fixed an uninitialized variable (sqltr) in sqlrcontroller class * fixed a memory leak in the freetds version-checking code * added new search paths and default prefix for Syllable OS * added support for null-terminated result bind lists to the mysql drop-in library so apps can optionally bind fewer columns than come back in the result set * added configure tests for php-config-"version" One thing that has not been addressed yet is support for Multiarch systems. Debian and Ubuntu have recently started installing libraries for some modules under /usr/lib/<arch> where arch is something like i386-gnu-linux or x86_64-gnu-linux. On 64 bit platforms, both directories exist with 32-bit libraries installed in /usr/lib/i386-gnu-linux and 64-bit libraries installed in /usr/lib/x86_64-gnu-linux. On arm platforms it's even more complicated as there are both old-school and EABI directories as well as one for thumb and some other option as well. Mips platforms are similarly complicated. To make it more complex, the Debian/Ubuntu naming conventions don't match the output of the config.guess script. I'm working on a solution but it didn't make it into this release. Unfortunately the only good solution for now is to symlink the appropriate libraries into /lib. For example, to get FreeTDS to be detected and used, run: cd /usr/lib ln -s i386-gnu-linux/libct.so.4.0.0 libct.so.4.0.0 ln -s i386-gnu-linux/libct.so.4.0.0 libct.so.4 ln -s i386-gnu-linux/libct.so.4.0.0 libct.so Or similar for the libraries of other packages. Enjoy, David Muse dav...@fi... |