SQL Relay Changelog

New in version 0.60

August 6th, 2015
  • fixed true->false transposition in sqlrservercontroller::interceptQuery that could lead to a reLogIn loop
  • disabled -Werror for gcc < 2.7
  • applied George Carrette's patch to fix PDO connectstring options
  • migrated directory/file paths info into sqlrpaths class
  • removed undocumented and not-so-relevent-these-days MAX_CONNECTIONS/overridemaxconnections failsafe in sqlr-start
  • fixed java header detection for javac located in /usr/bin
  • updated java api to support non-null-tolerant implementations of environment::NewStringUTF()
  • the perl api builds correctly on OSR5 again
  • the postgresql sslmode is omitted entirely from the connect string now, if it's disabled, to prevent problems with older versions of postgresql that don't support the parameter at all
  • mono 2.8 or greater is required now
  • added a datedelimiters attribute to the instance tag in sqlrelay.conf to limit what date delimiters are used when translating dates
  • re-added mssqlserver detection, which had been accidentally removed
  • fixed statically-linked build
  • fixed mysql lob field bug that could cause a crash

New in version 0.54 (February 1st, 2014)

  • Support for a multi-threaded listener has been added.
  • Major improvements have been made to the PHP PDO driver.
  • Detection of various things in the configure script has been improved, including TCL on multi-arch systems and 64-bit Sybase and DB2.
  • Many obscure, but significant bugs have been fixed, as well.

New in version 0.53.1 (November 7th, 2013)

  • It turns out there were some documentation errors and they didn't build successfully on every platform in my build farm. Most significantly though, there was an error in one of the Makefiles that cased a "make clean" to abort partway through the build. This could cause problems for automated build systems.

New in version 0.53 (October 31st, 2013)

  • added support for sqlite statement api and native binds
  • fixed some leaks related to using sys::getHostName()
  • added multiarch detection
  • added PHP PDO driver
  • fixed a bind variable translation bug where output binds followed by := would not be detected
  • dropped zope support (for now)
  • dropped PHP Pear DB support
  • refactored init script - one script should work on all platforms now
  • updated init script installation - should work on virtually all unixes
  • added OS X launchd configuration
  • updated the sqlr-listener to clean up files related to ipc, sockets and marking whether the db is up or down on exit
  • sqlr-start no longer starts the cache manager
  • added a second init script for the cache manager
  • plugins are statically linked into libsqlrserver if the platform doesn't support shared libraries (or if --disable-shared is specified at configure time)
  • the perl API should build with old versions of perl (5.00X) on older platforms (redhat 4.2, 5.2, 6.2, etc.) now
  • updated postgresql bind docs
  • added dateyyyyddmm parameter
  • added yyyyddmm parameter to translatedates translation
  • added SQLR_MYSQL_DATE_YYYYDDMM envrionment variable to mysql drop-in library
  • added SQLR_ODBC_DATE_YYYYDDMM envrionment variable to odbc driver

New in version 0.51 (August 6th, 2013)

  • Support was added for Oracle 12c and DB2 10.1/10.5.
  • Database installation documentation was updated.
  • A few community-contributed patches were applied.
  • An obscure issue regarding date conversions with FreeTDS and MS SQL Server in locales where dates are formatted DD/MM/YYYY was addressed and documented.

New in version 0.50 (February 23rd, 2013)

  • This version features several improvements for using Microsoft SQL Server via FreeTDS. Parameters were added to reformat dates and times in result sets.
  • Other minor bugs were fixed as well, including a few uninitialized variables and a memory leak.

New in version 0.49.1 (January 29th, 2013)

  • sqlrserver-config returns the correct library now.
  • A NULL dereference in custom_nw has been corrected.

New in version 0.49 (January 3rd, 2013)

  • Modular frameworks were added for logging and password encryption.
  • The ODBC driver has been improved significantly.
  • Various obscure bugs were fixed.
  • Client API calls were added for getting the hostname and IP address of the database.
  • The client-server protocol has been refactored to remove two round trips.
  • The Windows build script now supports CLR and non-CLR builds.

New in version 0.48 (December 10th, 2012)

  • Several contributed updates have been integrated.
  • The stmtcachesize parameter now enables use of the Oracle Statement Cache.
  • Most of the server-side code has been reorganized to be more modular, and several things have been reimplemented as plugins.
  • Several performance improvements have been made.
  • One eliminates an unnecessary client-server roundtrip and another eliminates an unnecessary re-prepare.

New in version 0.47 (November 5th, 2012)

  • This release mainly features the ability to use Oracle's Statement Cache feature. Code for this was contributed by Neowiz.
  • To enable the statement cache, simply add:
  • stmtcachesize=20
  • (Or some size other than 20)
  • ...to the connect string for your instance of SQL Relay that talks to Oracle in your sqlrelay.conf file. Note also that there are a few quirks when using the statement cache which appear to be either bugs in OCI or issues with the way SQL Relay uses OCI. They may be resolved in a future release of OCI or SQL Relay. See Configuring SQL Relay for more information.
  • Note also that I haven't finished integrating all of the contributed code yet, so if something doesn't work as expected, that could be why.
  • Also in this release, I updated the SQL Relay command line clients to have a consistent command-line parameter interface and renamed a few of them.
  • All command line programs now have the following parameters:
  • host
  • port
  • socket
  • user
  • password
  • So, for example, to connect to localhost, port 9000 using user test with password test, you now use:
  • sqlrsh -host localhost -port 9000 -user test -password test
  • Whereas in the past, you would have used:
  • sqlrsh localhost 9000 "" test test
  • In addition, sqlrsh now has -script and -command arguments to run scripts or commands non-interactively.
  • I also renamed the query and fields commands sqlr-query and sqlr-fields.
  • In addition to those updates and changes, the following new features and bug fixes have also been implemented:
  • fixed bug that caused sqlr-export to output negative xml-entity values
  • fixed single-quote-escaping in sqlr-export
  • forced handoff="reconnect" for Cygwin and Linux

New in version 0.44 (January 19th, 2012)

  • This version introduces MySQL statement API support in the drop-in library, DB-agnostic API methods to return db, table, and column lists, to get and set the current schema/db and to get the last insert id.
  • This release also features bind variable format translation, the ability to fake transaction blocks for db's that don't support them, and the ability to run a set of queries at the start and end of a client session.
  • The sqlrsh command line client now supports bind variables.

New in version 0.43 (August 17th, 2011)

  • Detection of various languages and databases in the configure script was improved.
  • Many compatibility tweaks for Ruby, Tcl, db2, and OS X were made.
  • Many direct calls to POSIX functions were replaced with rudiments process-class calls.
  • Connect-string parameters to define the character set were added for most databases.
  • There's a new "getting started with ODBC" document, and the FAQ was updated with information about stored procedures that return result sets.