Tuesday, January 17, 2012

Rudiments 0.35 is out

An updated version of Rudiments is now available.  This release features some minor bug fixes and a few new methods.  Nothing all that significant.  However, the new features are required by SQL Relay 0.44 so if you're upgrading SQL Relay, upgrade Rudiments as well.

SQL Relay 0.44 is out

This release introduces a host of new features.

  • The MySQL Drop-In Replacement Library has been greatly improved and updated to support MySQL 5.2 and the MySQL statement API.
  • The SQL Relay client API's support new methods to get databases, tables and columns, returning lists similar to those returned by "show databases", "show tables" and "describe table" queries.
  • Bind Variable Translation is now supported.  If your queries have ?'s in them but you want to aim them at a database that uses colon-delimited queries, or vice-versa, SQL Relay can remap the variables automatically.
  • SQL Relay can now fake transaction blocks.  If you are migrating from a DB that is in autocommit mode by default and requires "begin" or "start" queries to begin a transaction to a database that is always in a transaction, SQL Relay can fake the behavior of the first database and make the new database appear to support transaction blocks.
  • The sqlrsh command line client now supports bind variables.
  • selectDatabase()/getCurrentDatabase() methods have been added to all API's, providing a database agnostic method for switching schemas/db's.
  • The fakebinds connect string option has been replaced by a parameter at the instance level and all databases support faking of input binds now.
  • getLastInsertId() has been added to all API's.  If the database supports it natively then the native function is used.  If the database doesn't support it then a stored procedure can be specified to fake it.
  • A set of queries can be run at the beginning and end of each client session now.
This is all in addition to the standard number of bug fixes and optimizations.

Monday, September 19, 2011

Web Site Facelifts

The firstworks.com website and project sites for SQL Relay, Rudiments and Stencil have all been updated. There's still plenty of work to do on each, but it's a start.

Wednesday, August 24, 2011

Stencil 2.0.5 is out

There are very few changes in this release. Direct calls to posix functions have been replaced with calls to rudiments methods. Apache detection has been improved as well.

SQL Relay 0.43 is out

This is mainly a compatibility release.

In 0.42, some languages or databases weren't detected properly on some platforms or needed tweaks to build against. This release should resolve most or all of those issues.

It's also now possible to build rudiments, the client library and command line apps under mingw32 and run them on Windows without Cygwin.

You can also now set the character set in the sqlrelay.conf file for all databases that support it.

Rudiments 0.43 is out

In this release, many more posix functions and win32 API methods have been wrapped. The serialportprofile class has been refactored quite a bit too. Many classes that were excluded entirely when compiling for win32 are now compiled but many of the methods return failure and set ENOSYS instead of just not being built at all.

It works well enough under windows that the SQL Relay command line clients and Stencil CGI's can be used without Cygwin now.

Thursday, June 30, 2011

SQL Relay 0.42 is out

SQL Relay 0.42 is out (finally). This is mainly a bug-fix, stability and compatibility release.

Highlights include:
* Java api should work on 64-bit machines now
* Updated configure script to detect modern versions of db's and languages
* Oracle CLOB fixes
* Oracle cursor bind fixes
* A fix for the bug that caused address="" in the config file to prevent the listener from starting.
* The maxsessioncount parameter defaults to 0 (disabled) now.
* Many, many fixes for obscure bugs, race conditions, memory leaks and other stability-related issues

Thanks to everyone who contacted me about issues or submitted patches that went into this release. There were quite a few. Big thanks go out to Renat Sabitov for submitting a dozen or more patches and doing lots of testing