Wednesday, August 15, 2012

SQL Relay - 0.46 is out

SQL Relay 0.46 is now available.

The biggest new feature in this release is a native windows ADO.NET data provider. Yes, you can now aim your Windows .NET applications at SQL Relay.

To accomplish this, I ported most of Rudiments and the client-side components of SQL Relay to MSVC, wrote a C# wrapper for the client API and wrote an ADO.NET data provider using the C# wrapper.

A binary distribution will be available soon, but for now, see the documentation for how to build, install and use the data provider.

In addition to the ADO.NET data provider, the following new features have also been added:

  • A begin() method has been added to the client API's to compliment the commit() and rollback() methods.
  • A waitfordowndatabase parameter has been added to sqlrelay.conf to control SQL Relay's behavior when the database it's talking to has gone down.

The following bugs have also been fixed:

  • Applied Georgiy Kirichenko's missing flushWriteBuffer() patch.
  • Some subtle bugs in the Ruby DBI adapter that modern versions of Ruby DBI reveal.
  • Fixed a race condition in the sqlr-scaler that could occur when connections="0" is set in the sqlrelay.conf file.
  • Applied some ODBC fixes from Chae Young-ku.
  • Fixed the debug option to the query command line client.
  • Fixed an outstanding TCL api bug that caused cursors not to get created.
  • Fixed several outstanding bugs regarding escaping of quotes.

Try it out and report any problems you have!

Rudiments - 0.37 is out

Rudiments 0.37 is now available!

This release features the following new features and bug fixes:

  • updated logger to exclude : if header isn't supplied
  • updated logger not to print double-returns after each log message
  • added file::createPipe()
  • fixed net-to-host and host-to-net byte order conversions for 64-bit integers on windows
  • fixed charstring::copy that I'd broken in 0.36
  • fixed missing [] in a delete in filedescriptor::read() with terminator that could cause leaks and corruption
  • fixed a leak in filedescriptor::read() with terminator that could occur when it fell through with an error, timeout or 0-byte read
  • applied Georgiy Kirichenko's fix to the safePoll call in filedescriptor::readFileDescriptor() - swapped true/false arguments so it would wait using POLLIN
  • added xmldomnode::getPosition()
  • fixed display of seconds from datetime::getString()
  • fixed optimum buffer size calculation in xmlsax
  • fixed several dlclose()-related bugs