This release fixes two bugs:
- sqlrserver-config returns the proper library now
- there was a NULL-dereference in the custom_nw logger module
If you don't use either of those things then there's no need to upgrade.
SQL Relay, Rudiments, and other firstworks technologies...
...release announcements, tutorials, and other news.
This release fixes two bugs:
If you don't use either of those things then there's no need to upgrade.
SQL Relay 0.49 is now available.
This release features the addition of extension modules for password encryption and logging. Logging was actually added in the previous release but it has been expanded and documented in this release.
See Password Encryption Modules and Logger Modules for more information.
The build process has been improved as well.
Lots of code was reorganized to be easier to maintain and to compile faster. For many years the configure script would erroneously include "-pthread" in the compile commands on platforms that don't support it. That has been fixed.
-Werror has been added to default build for most components as well and various issues revealed by it have been fixed.
The windows make.bat script has been refactored too and now supports both regular and CLR builds.
The client-server protocol has been refactored to improve performance. Two client-server round trips have been removed. One after authentication and another after the listener-connection handoff. All client-server commands can run in a single round trip now.
The handoff="reconnect" parameter has been replaced with handoff="proxy". In the past, if handoff="reconnect" then the client was told to disconnect from the listener and reconnect to an available connection daemon. Now, if handoff="pass" is unsupported, the listener just proxies the client, ferrying data back and forth between it and the server. This causes the listener/connection relationship to be completely transparent to the client and removes a client-server round-trip.
An very primitive ODBC driver has long been included in the source tree. It has been improved significantly in this release and can now be used with the isql program included with unixODBC and iODBC and with the henplus JDBC client using the JDBC-ODBC bridge. The driver still lacks many features, hasn't been tested much beyond those clients, and doesn't work on Windows without manually adding registry entries, but it is usable and should eventually make it possible to use SQL Relay with a much wider range of applications.
A few bugs were fixed as well including a bug that could cause problems when fetching from an output bind cursor under a very specific set of circumstances and a bug that could cause a hang if the database login failed.
Client API methods for getting the database's host name and IP address have been added as well.
This version of SQL Relay requires Rudiments - 0.40. Both are available from the SQL Relay web site.
Rudiments 0.40 is now available.
This release fixes several obscure bugs and problems with the build process.
For many years the configure script would erroneously include "-pthread" in the compile commands on platforms that don't support it. That has been fixed.
-Werror has been added to default build as well and various issues revealed by it have been fixed.
The windows make.bat script has been refactored too and now supports both regular and CLR builds.
The following bugs have been fixed:
It appears that some platforms (OpenBSD 4.9 for i386 at least) create sockets in non-blocking mode. This is not what a developer would generally expect, so some changes have been made to standardize this behavior.
SQL Relay version 0.48.1 has just been released.
This release fixes an obscure bug that can occur with output bind cursors.
Basically if a server-side cursor is used with a query that returns a bind variable, and then later that same cursor ends up being used AS an output bind cursor, the bind variables from the previous use of that cursor end up getting sent back to the client and this wreaks all kinds of havoc.
This bug has been fixed.
If your app doesn't use output bind cursors then there's no need to update.
SQL Relay version 0.48 is now available.
This release features some major internal reorganization of the server-side software and integration of a bunch of contributed code.
Outwardly, not much has changed. The most noticeable change is that the sqlr-connection-XXX programs have been replaced with a single sqlr-connection program which now loads a plugin for whichever database it needs to connect to. So, if you have monitoring programs that look for that process, you may need to update them.
The next-most noticeable change is the addition of a stmtcachesize parameter to the connectstring when configuring an instance of SQL Relay to talk to Oracle. Setting this parameter to a value other than 0 enables use of Oracle's Statement Cache which can improve performance significantly. See Configuring SQL Relay for more info on this parameter and Google "Oracle Statement Cache" for more info on that.
Two changes that should improve performance somewhat have been made.
There were cases where the client would tell the server to abort the result set, then wait for a response, unnecessarily, incurring the cost of an additional client-server round-trip. It no longer does this.
The code for talking to Oracle used to re-prepare the query before each execution, if the bind variables had been modified. This was done to work around an issue that could come up when using OCI 8.0 or when running against 8.0 or 8i databases. Oracle has long resolved the issue though, and now the re-prepare is only done in those specific cases.
Other updates and fixes include:
Rudiments Version 0.39 is now available.
This release features a few bug fixes and a few new methods that I'm not sure how I ever managed to live without:
Bug Fixes:
New Features:
SQL Relay 0.47 is now available.
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:
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: