Up to [cvs.NetBSD.org] / pkgsrc / databases / sqlrelay-mysql
Request diff between arbitrary revisions
Keyword substitution: kv
Default branch: MAIN
*: recursive bump for icu 76 shlib major version bump
*: revbump for icu downgrade
*: recursive bump for icu 76.1 shlib bump
revbump after icu and protobuf updates
*: recursive bump for gnutls p11-kit option (existing installations need the bl3.mk included, but it's now only optionally included)
*: recursive bump for icu 74.1
*: bump for openssl 3
revbump after textproc/icu update
sqlrelay: updated to 1.9.3 1.9.3 - added some missing SQLGetInfo() attributes to the ODBC driver backported fixes for PHP 8 backported support for Oracle 18 and 19 backported a fix for some missing map clears in postgresql protocol module backported a fix for NULL-binds in the ODBC driver backported -fdeclspec configure test for ruby with clang backported a postgresql isnull fix backported patch from Kyle to use HH24 instead of HH in default fakeinputbindvariablesdateformat string backported mysql connection segfault fix disabled PQsendQueryPrepared/PQsetSingleRowMode to fix nested query bug with postgresql backported postgresql noRowsToReturn fix 1.9.2 - ruby cursor constructor marks associated ruby connection object now updated bad-command and no-cursor-available handling in sqlrclient protocol module fixed a subtle bug that could cause closeResultSet()/clearError() not to be called between reexecutes if the previous execute resulted in an error backported support for password files in userlist auth modules 1.9.1 - fixed some missing map clears in postgresql protocol module fixed NULL-bind in the ODBC driver 1.9.0 - added missing inequality operators to end-of-bind detection fixed commit/begin without commitcount error in sqlrimportcsv fetch errors aren't returned if sqlrclient protocol version < 2 query-intercept catches "begin transaction" now query-intercept doesn't intercept various begin-type statements if the query is actually a block of sql containing commit or rollback added ncharencoding option to odbc connection to enable UTF-16 values in SQL Server nchars/nvarchars fixed a bug that caused output binds of length 8000+ to fail on SQL Server begin() runs "begin transaction" instead of just "begin" on SQL Server fixed a column-count reset bug in odbc, db2, informix, and postgresql that could cause begin queries to fail when fake transaction blocks are used object lists have correct column names for mysql, odbc, and jdbc now fixed a bug that caused rollback to be called insted of commit when endofsession="commit" and faketransactionblocks=yes are used commit/rollback is now called at the end of session when faketransactoinblocks=yes is used, whether or not the server believes it's in a transaction block, to catch cases where the begin-interceptor is intentionally bypassed sqlrimportcsv handles dates without centuries now fixed crash in replay module when table name is quoted mysql explain statements work now fixed node-gyp.js detection on ubuntu 20.04 added configure options for PHP 8.x added php/pdo module tweaks for PHP 8 mysql and postgresql protocol modules support TLS now pushed most of tls/gss code up into sqlrprotocol parent class fixed subtle issues in mysql/postgresql database modules that could sometimes cause reexecutes of the same query with the same bind variables to return no results the second time the configure script specifically looks for liberl_interface.a now updated nodejs macros for node 14+ fixed subtle bugs in Python getField, getFieldLength, and getRowLengthsDictionary functions added GVL management to the Ruby API applied patch from Igor to fix configure.vbs VC++ version detection for non-US versions
*: bump PKGREVISION for libunistring shlib major bump
*: recursive bump for perl 5.36
revbump for icu and libffi
revbump for boost-libs
Revbump for MySQL default change
*: recursive bump for perl 5.34
revbump for boost-libs
sqlrelay: updated to 1.8.0 SQL Relay 1.8.0 This release mainly lays the groundwork for some future features, including a generic import/export framework. Some notable progress was also made on the JDBC driver, though it's still not finished. The most significant (finshed) new feature is an aes128 password encryption module. There are some bugfixes as well. A long-standing issue with postgresql that could cause results from multiple open cursors to get confused has been resolved. A subtle error that could cause counting of bind variables on the client-side to hang has been fixed. A long-standing, but apparently obscure, issue that could cause tables from other MySQL schemas to be included in a "show tables" command has been fixed. As well as various other issues. Full ChangeLog follows: unattended tests added sqlrresultsetdomnode class to c++ client API fixed datedelimiters parameter added support for SQLParamOptions with SQLUINTEGER arguments sqlr-import detects uppercase .CSV suffix now fixed a csv number-detection but in sqlr-import fixed a delete[] of a const in sqlr-import it's possible to specify a commitcount of 0 with sqlr-import now moved sqlrimportxml/csv classes into libsqlrclient moved sqlrexportxml/csv classes into libsqlrclient csv import/export is consistent now added some event methods to sqlrexport migrated parsedatetime functions to rudiments datetime class different postgresql cursors use different stmtNames now sqlrimportcsv can create a primary key that's not in the CSV now sqlrexportcsv quotes 12+ digit numbers now fixed subtle, count-related issues when validating bind variables on the client side, that could cause a hang added an aes128 pwdenc module applied a patch to fix a crash in the debug logger (missing "%s") added a tweak to getsitearchdir.rb to fix incorrect lib/lib64 reporting on some centos x64 systems fixed mysql getColumnList to distinquish proper db/schema SQL Relay 1.7.0 This release adds 2 significant features: support for the PostgreSQL client-server protocol, and a "replay" module to help automatically recover from deadlocks and lock-timeouts, but also has the usual assortment of minor bugfixes and internal changes. Full ChangeLog follows: added postgresql protocol module updated postgresql connection module to get column info pre-execute fixed postgresql connection module type oid bug added tag filter/moduledata added moduledata(s)::closeResultSet()/endTransaction()/endSession() mysql protocol returns empty lobs correctly now (not as nulls) configure replaces -lfbclient with -lgds on freebsd/firebird-2.0.3 fixed a bug that could cause sqlr-stop to try to kill pid 0 fixed unixodbc detection on solaris 11.4 added configure test for PQdescribePrepared test improvements documentation improvements split sqlrelay-crash directive into its own module deprecated drop-in replacement libraries in favor of protocol support fixed various mysql 4.x bugs sqlr-status creates statistics on heap now instead of stack, to work on platforms with a small default ulimit stack mysql stored procedure test is bypassed for older mysql tls test is bypassed for older openssl added NULL handoff socket workaround improved shutdown/crash handlers for sqlr-listener/connection fixed hang when more-than-one address was specified in the instance:addresses attribute *_null used instead of *_unset on PHP 7.4 SQL Relay 1.6.0 This release mainly addresses some recently discovered regressions, but also adds some internal features that required the minor version to be bumped. ChangeLog follows: added begin, commit, rollback events fixed array_init() calls for php-7.3 integrated my_bool fix for mysql 8.0.1+ mysql sslmode=require/prefer + bad sslca/sslcapath generates warning rather than error now (like the mysql cli) refactored various routines that parse bind variables out of queries added bindvariabledelimiters config option to define supported bind variable delimiters added fakeinputbindvariablesunicodestrings config option added bind variable delimiters config methods to c++ api replay trigger can now run a query (eg. "show engine innodb status") and log the reslits to a file when a replay condition occurs replay trigger doesn't log/replay selects by defalit now (but this is configurable) updated normalize translation to support queries containing binary data fixed a backslash-escape bug in the normalize translation refactored some sqlrclient api private methods refactored various bind-manipliation/detection methods sqlr-listener creates tmpdir now on start, if it doesn't exist (because this is often in /run, which is often a tmpfs) postgresql connection modlie forces re-fetch of column data after execute now everything uses charstring::isYes/isNo now, instead of direct comparisons against "yes" or "no" fixed subtle sqlexecdirect bug fixed subtle sqlserver max-varchar bind length bug fixed various subtle sqlserver bugs where column-info isn't valid until after execute odbc connection modlie sets column precision = column length if column precision = -1 when using odbc on front and back end, the object type works in SQLTables now reslit set translations work with "show databases/tables/etc." queries with an ODBC backend now increased oid buffer sizes in postgresql connection fixed typemangling->tablemangling typo in postgresql connection - tablemangling sholid work without typemangling now fixed a '...\\''...' parsing bug non-odbc connection modlies now return odbc-compatible(ish) table lists client info is no longer reset during endSession fixed a bug that colid cause sqlite "show tables like '...'" to crash fixed odbc unicode nlil user/password bug fixed PyString_AsString for python 3.<3 fixed bug that caused some MSSQL lobs to sometimes be returned as nlils when using ODBC on the backend fixed bug that caused some MSSQL date fields to get returned as garbage fixed a few older sqlrclient compatibility bugs fixed SQLFetch parameter type mismatch in ODBC api removed a non-c++17-compliant "register" from custom_nw logger added support for nodejs 12 SQLDriverConnect can take an inline DSN now fixed odbc maxcolumncount=-1 crash odbc, db2, and informix set bind format error now
*: bump PKGREVISION for perl-5.32.
revbump after updating security/nettle
databases/sqlrelay: avoid USE_TOOLS+=perl warning
revbump after boost update
*: recursive bump for libffi
*: Recursive revision bump for openssl 1.1.1.
*: Recursive revbump from devel/boost-libs
Recursive revbump from boost-1.71.0
*: recursive bump for nettle 3.5.1
Recursive revbump from boost-1.70.0
revbump for boost 1.69.0
revbump after boost-libs update
revbump for boost-libs update
Revbump after boost update
Revbump for boost update
Recursive revbump from boost update
Reset PKGREVISION after sqlrelay master package update.
Revbump after boost update
Update databases/sqlrelay and sub-packages to 0.66.0. New features: - Notification Modules - Connection Schedules - Query Router Modules Full changelog: - fixed mysql set isolation level query - updated mysql connection to run commit/rollback at the end of every session even if only selects were run, to make sure metadata locks are released - renamed sqlrclientexitstatus_t to clientsessionexitstatus_t - updated all db connection modules to reinit the column count during prepare rather than execute - fixed bug where server-side errors set by conn/cursor->setError() could inadverntantly be overriden during the next call to conn/cursor->errorMessage() - added several more queries to mysql stmt-api blacklist - configure option --disable-odbc-driver actually works now - filters can specify an error string and error number now - added support for systemd - fixed a memory leak by applying and updating a patch from Kasyanov Dmitry to deallocate the error message in C++ API destructor - legacy_stdio_definitions.lib is now included when building ODBC with VS2015 - added support for PHP7 - added -wait option to sqlr-start for non-Windows - disabled -disable-new-window option to sqlr-start for non-Windows - non-ascii character encodings work with the C# API now - rudiments prompt class is used instead of using readline directly now - renamed "logger-events" to just "events" - added notification framework and "events" module - added connection schedule framework and "cron" module - applied sec/usec patch from samchuck at neowiz to custom_nw logger to fix subtle time calculation error - applied a patch from samchuck at neowiz to the sqlrclient protocol module to deallocate storage for bind variables after logging the query to resolve a reference-after-free bug - added router module framework with "regex", "userlist" and "clientiplist" modules - when router detects a possible integrity violation now, it raises an event which can be logged or trigger a notification and disables the instance - router calls begin, commit, and rollback on all connections now, even if they're executed as queries rather than using the api methods - removed tls_userlist/krb_userlist auth modules and updated the userlist auth module to support tls and kerberos auth - converted most of the doc source to wikitext - fixed ODBC driver bug that could corrupt memory and trick the driver manager into thinking that some basic functions are unavailable - ODBC SQLTables works more correctly now - fixed an ODBC bug that caused the first row to be fetched twice when using SQLBindCol
Revbump post boost update
Update databases/sqlrelay to 0.65.0 - SQL Relay now supports Kerberos encryption and authentication - SQL Relay now supports TLS/SSL encryption and authentication - Python 3 support - Node.js 4.x and higher are now correctly detected and supported. - Separate "database" and "proxied" Authentication Options - Various ODBC-related bugs have been fixed - A subtle bug that caused incompatibilities with the popular logrotate utility has been fixed - A long standing problem that occurred when using a listenertimeout with a threaded listener (the default) has been fixed. - After a graceful restart, Apache workers would get stuck in the Closing Connection state after running a PHP script that used SQL Relay. This is now fixed. See full changelog: http://software.firstworks.com/2016/03/sql-relay-0650-release-announcement.html
Bump PKGREVISION for security/openssl ABI bump.
Update to 0.59 * Fix build with Ruby 2.2. Changelog: 0.59 - updated docs, removed some Cygwin-specific info added support for login warnings made bind variable buffers dynamic on the client side added maxbindvars parameter on the server side binding a NULL to an integer works with db2 now moved getting started with DB docs into the cloud added a semaphore to ensure that the listener doesn't hand off the client to the connection until the connection is ready, elimiating a race condition on the handoff socket that could occur if the connection timed out waiting for the listener just after the listener had decided to use that connection oracle temp tables that need to be truncated at the end of the session are truncated with "truncate table xxx" now rather than "delete from xxx" oracle temp tables that need to be dropped at the end of the session are truncated first, rather than the connection re-logging in an ora-14452 error (basically indicating that a temp table can only be dropped after being truncated, or if the current session ends) does not automatically trigger a re-login any more updated cachemanager to use directory::read() directly instead of directory::getChildName(index) added cache and opencache commands to sqlrsh made cache ttl a 64-bit number added enabled="yes"/"no" parameter to logger modules updated odbc connection code to use new/delete and rudiments methods rather than malloc/free and native calls retired Ruby DBI driver fixed command line client crash when using -id "instance" with an instance that uses authtier="database" fixed bugs that could make reexecuted db2 selects fail and cause a database re-login loop tweaked spec file to remove empty directories on uninstall fixed typo that could sometimes cause a listener crash postgresql and mdbtools return error code of 1 rather than 0 for all errors now tweaked odbc driver to work with Oracle Heterogenous Agent (dblinks) fixed bugs related to autocommit with db's that support transaction blocks implemented the ODBC driver-manager dialog for windows updated windows installer to install ODBC registry settings ODBC driver copies references now fixed various bugs in sqlrconfigfile that caused sqlr-start with no -id to crash or behave strangely sometimes refactored build process to use nmake and be compatible with many different versions of MS Visual Studio updated the slow query logger to show the date/time that the query was executed consolidated c, c++ and server source/includes down a few levels implemented column-remapping for get db/table/column commands to enable different formats for mysql, odbc, etc. odbc connection correctly returns database/table lists now added support for maxselectlistsize/maxitembuffersize to MySQL connection updated mysql connection to fetch blob columns in chunks and not be bound by maxitembuffersize fixed a misspelling in sqlrelay.dtd swapped order of init directory detection, looking for /etc/init.d ahead of /etc/rc.d/init.d to resolve conflict with dkms on SuSE Enterprise C# api and tests compile and work under Mono on unix/linux now sqlr-start spawns a new window on Windows now added global temp table tracking for firebird added droptemptables parameter for firebird added globaltemptables parameter for oracle and firebird updated mysql connection to allow mysql_init to allocate a mysql struct on platforms that support mysql_init, rather than using a static struct fixed subtle noon/midnight-related bugs in date/time translation updated mysql connection to get affected rows when not using the statement api updated mysql connection not to use the statement API on windows, for now disabled mysql_change_user, for now fixed blob-input binds on firebird 0.58 - updated spawn() calls to detach on windows added support for sqlrelay.conf.d removed support for undocumented ~/.sqlrelay.conf fixed detection of oracle jdk 7 and 8 on debian and ubuntu systems added ini files for PHP and PDO modules added resultsetbuffersize, dontgetcolumninfo and nullsasnulls connect string variables to the PHP PDO driver refactored sqlr-status and removed dependency on libsqlrserver cleaned up and refactored server-side classes quite a bit fixed a bug where sqlrsh was losing the timezone when binding dates server-devel headers are now installed removed backupschema script moved triggers, translations, resultsettranslations and parser into separate project blobs work when using fake input binds now replaced sqlr-stop script with a binary (for Windows) preliminary support for server components on Windows sessionhandler="thread" is now forced on Windows added various compile flags for clang's aggressive -Wall added support for sybase 16.0 removed unnecessary -lsybdb/-lsybdb64 for sybase 15+ fixed PQreset, PQresetStart, PQresetPoll in postgresql drop-in replacement lib added debug-to-file support to PHP PDO driver fixed subtle row-fetch bug in sybase/freetds drivers that could cause the total row count to be set to garbage fixed support for older versions of perl (5.00x) fixed a bug in the DB2 connoutpection that caused blob input binds to be truncated at the first null added support for binding streams to output bind blobs in the PHP PDO driver updated PHP PDO guide with notes about bind variable formats integrated Samat Yusup's dbh driver methods for PHP PDO added stmt driver methods for suspending/resuming result sets to the PHP PDO driver added row cache to mysql drop-in replacement library to fix issues on systems with 32-bit pointers fixed subtle db2 output bind bfers the entire result set by default now implemented an ext_SQLR_Debug database handle attribute for perl DBI added support for type, length, precision, scale bind variable attributes in perl DBI output bind clobs and blobs work in perl DBI now addd support for perl DBI ParamValues, ParamTypes and ParamArrays attributes tweaked the odbc driver so it works with the jdbc-odbc bridge and jmeter added custom db/statement attributes to perl DBI for DontGetColumnInfo, GetNullsAsEmptyStrings and ResultSetBufferSize added note about JDBC-ODBC bridge removal in Oracle Java 8 made threaded listener the default tweaks to sqlr-connection/sqlr-scaler processes to deal with lack of SIGCHLD/waitpid() on windows the signal on semaphore 2 is now undone manually when sqlr-connections shut down and doesn't rely on semaphore undo's for normal operation subtly tweaked freeing of Oracle column-info buffers to work around a crash that could occur after using a cursor bind
Update sqlrelay to 0.55. A full refactor and split-up into separate packages for the various APIs and backends. Changelog since 0.43 follows. 0.55 - fixed a sql translation bug related to exists clauses added deployment projects for windows tweaked make.batch install target to install 32-bit files under C:\Program Files (x86) added a timeout parameter to db2 and odbc connect strings fixed a bug that could cause a connection's ttl to fail because a semaphore was left signalled when another connection's ttl expired updated handoff="proxy" code to work with sessionhandler="thread" replaced waitpid call in sqlrscaler with rudiments equivalent got the server-side stuff to compile on windows added configurable fetch buffer sizes to sybase, freetds and db2 connections re-distribute themselves periodically if the database is behind a load balancer now fixed a bug that caused sqlrsh to incorrectly interpret internal commands with leading whitespace when run from a script or on the command line fixed a bug that caused cursors not to be completely cleaned up after when dynamic scaling is used fixed a bug that caused the response timeout to be handled improperly added response timeout command to sqlrsh added support for clobs/blobs with firebird fixed a blob-related bug with sqlite added support for blob input binds with db2 added support for clob/blob output binds with db2 improved clob/blob fetching with db2 inputBindClob/Blob methods work with all db's now added -Wno-unknown-pragmas flag (if it it supported) to java build for solaris 8 updated default item buffer sizes to 32768 for sybase, freetds, db2 and odbc applied Gerhard Lausser's patch to improve Oracle instantclient detection 0.54 - fixed bugs that caused problems when unopened result sets were closed added protocol identification phase to client/server protocol split client protocol handling out into its own class and abstracted it updated oracle code not to relogin when dropping tables unless a temp table with an "on commit preserve rows" was run updated server to run table-drop and session-end queries after the session-end commit/rollback, as some queries on some platforms ( ncluding drop-table on oracle) cause an implicit commit and the rollback needs to be run first replaced gettimeofday calls with calls to datetime::getSystemDateAndTime fixed a bug in slow query logger that caused it to display the wrong query time a few mingw32 tweaks fixed a few PDO driver bugs related to affected row counts and last insert id implemented PDO exceptions implemented support for PDO::ATTR_EMULATE_PREPARES by using substitution variables added foundrows and ignorespace options to mysql connect string fixed a bug where affectedRows() would return -1 for MySQL selects instead of the same value as rowCount() updated sqlr-connection code not to get db host name and ip address at startup unless logging is enabled to work around issues where people fail to put the db host name in dns fixed a subtle bind format translation bug that caused errors when translating from oracle-style binds to mysql-style if the varaibles were out of order with the placeholders in the query fixed bugs in the mysql and postgresql connection code that assumed that the bind variables were bound in order, independent of their names resolved a paradox involved in detecting whether the current mysql query needs to have its bind variables faked or not added support for client-side debug-to-file added debug-to-file support to command line clients tweaked server processes to use process::spawn instead of system() and process::fork()/process::exec() added another error string to detect down mysql database added support for a multi-threaded listener fixed a bug that could cause a crash when logging connection-level errors added back x64-detection so sybase and db2 libraries will be detected properly added support for forward-only cursors to the PDO driver fixed a bug that could cause one (and only one) dynamically spawned connection daemon to ignore its ttl added support for get/set result set buffer size to the PDO driver updated configure test for xsubpp updated configure test for tcl to support multi-arch updated configure test for python to support multi-arch added custom PDO driver attributes to access db type, version, host name, ip address and bind format added custom PDO driver attribute to get/set current database added custom PDO driver attribute to set whether or not to get column info when fetching the result set updated db2 to re-login when it sees error -30081 0.53.1 - updated the configuration and tuning docs a bit fixed a Makefile bug that caused "make clean" to be interrupted extern "C"-wrapped sys/times.h for OSR500 0.53 - 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 0.52 - sqlrsh has long reported the wrong version, fixed that added csv support to sqlr-export and a -format xml|csv option replaced snprintf calls with charstring::printf calls added a test for sys/vnode.h to work around an issue with perl on SCO OSR6 added workarounds for old versions of sqlite without sqlite3_malloc and sqlite3_free with char * argument fixed error with sqlserver where "describe <table>" would return columns in alphabetical order rather than the order they are in the table the code freetds uses to get column names from MS SQL Server works for temp tables now added informix->mssqlserver translation for select into queries added translation to convert ||'s to concat() calls or +'s added a long-missing "delete clientsock" to sqlrlistener that could cause a crash after enough time various documentation tweaks added handling for "select into" queries to temptableslocalize/sybaseize translations fixed various crashes that could occur when a query filter was used updated the query routing and filtering doc sqlrsh supports multiple commands on a single line or on the command-line now exit/quit in a sqlrsh script aborts the script now improved date/time parsing for translations and result-set conversions fixed lots of cases where const char *'s were being deleted added 64-bit build support for windows combined sqlrclient files for faster compiling converted \t to actual tab in regular expressions for posix-compatibility 0.51 - fixed minor perl DBI driver documentation issue added support for oracle 12c added support for db2 10.1 and 10.5 updated docs for oracle 12c, db2 10.1 and 10.5 and sybase 15.7 modernized database installation docs a little fixed db2/sybase detection to take the system architecture into account when searching for libs applied various build-related patches from Ville Silventoinen fixed rpm->rpmbuild in installation docs added ora-00020 to list of errors that will cause the oracle connection to attempt to re-login, per Ville Silventoinen fixed some MS SQL Server/dateddmm parameter issues and updated docs to explain the remaining issues 0.50 - fixed sqlrserver-config script to return data for libsqlrserver rather than libsqlrconnection added test for SQLROWSETSIZE for odbc that doesn't define it updated postgresql drop-in library enough to work with psycopg2-2.4 with various caveats and tweaks fixed NULL dereference in custom_nw logger added support for dbversion, show tables/databases and describe for SQL Server via freetds fixed a subtle bug that could cause the wrong triggers to be run fixed a reference-after-free in sqltranslations::removeReplacementTable fixed an uninitialized variable (sqltr) in sqlrcontroller class updated the freetds connection to support multiple cursors correctly added config parameters for reformatting dates in the result set added various query translations for mssqlserver added an mssqlserver error map for the mysql drop-in library fixed a memory leak in the freetds version-checking code added new search paths and default prefix for syllable 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> 0.49 - fixed various issues that came up when cross-compiling fixed make uninstall to remove a few things that it missed fixed -pthread annoyance added -Werror to default build for most components fixed various issues revealed by -Werror added password encryption framework added rot,md5 and crypt password encryption plugins moved modules to libexec and removed the libsqlrelay_ prefix moved modules out of the connection directory and into their own directories under src reorganized code tree to compile faster updated clean targets in Makefiles to run faster fixed a bug that could cause problems when fetching from an output bind cursor under a very specific set of circumstances reorganized server code into libsqlrserver implemented the swisscomm log format as a plugin added dbHostName and dbIpAddress methods to the client API refactored authentication to remove a client-server round-trip replaced handoff="reconnect" with handoff="proxy" which uses listener-proxying to remove a client-server round-trip disabled nagle's algorithm for all sockets fixed a bug that could cause a hang if the db login failed updated reading of skip and fetch parameters not to rely on buffering refactored login error reporting fleshed out the ODBC driver significantly added docs for using SQL Relay from ODBC and JDBC refactored windows make.bat script 0.48 - integrated patches from Neowiz for: handling for oracle errors ora-01033, ora-02067 and ora-04068 bind validation when using the statement cache optionally rejecting oracle queries with duplicate bind variables sqlrconnecton::setClientInfo/getClientInfo query logging separate authentication and response timeouts on the client-side environment variables for setting timeouts sqlrelay-level errors for exceeding various bounds improved statistics gathering refactored Oracle re-prepare logic created a query logging framework implemented the current slow query log as a plugin implemented the neowiz query log format as a plugin created a custom query framework implemented the neowiz statistics gathering commands as custom queries added a test program for triggers, translations and other extensions and obscure features fixed several bugs in the informixtooracledates translation added a droplocalizedtemptables trigger added support for "global temporary" to temptableslocalize translation removed oracletemptablespreserverowsbydefault translation - temptableslocalize is much more effective fixed a bug that caused a "no server-side cursors" error to occur if when a new session is started if cursors="0" in sqlrelay.conf the client no longer aborts a result set before sending a new command, it just sends the new command, eliminating a client/server round-trip replaced sqlr-connection-"dbase" with a single sqlr-connection program that loads plugins for each database 0.47 - 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<2.2 updated all command line programs to use the same command line argument structure added a "fields" command to sqlrsh added a -command argument to sqlrsh so commands and queries can be run from the command line directly renamed query and fields to sqlr-query and sqlr-fields improved readline detection in the configure script added getDatabase/Table/ColumnList support to odbc and mdbtools connections added detection and support for openjdk integrated patches from Neowiz for: using -g3 if available when --enable-debug is specified support for using the oracle statement cache fixing an oracle column-resource-related memory leak eliminating sqlr-start delay "using namespace rudiments" declaration fixes added a faq entry about common OCIEnvCreate errors removed default id warning from sqlr-cachemanager removed coloration from sqlrsh updated begin, commit and rollback to return errors if they fail updated firebird docs added parsing of standalone constraints in a create table query 0.46 - refactored the translation framework to mimic the trigger framework added make.batch file for building on windows added C# API and ADO.NET adapter added begin method to API's added sqlrelay.xsd added date binds applied Georgiy Kirichenko's missing flushWriteBuffer() patch fixed some subtle bugs in the Ruby DBI module that modern versions of Ruby DBI reveal fixed sql parser errors involving "not null" and union clauses added a translation to replace double-quoted string literals with single-quoted string literals fixed a sql parser bug where "group" of a group by clause could be misinterpreted as a table alias updated the scaler to poll 10 times per second and also accept a trigger from the listener to mitigate race conditions that can become problematic when connections="0" is used added C# and ADO.NET docs and updated windows documentation updated the documentation added support for waitfordowndatabase config parameter applied some odbc fixes from Chae Young-ku added explicit support for outer join operators to the sql parser dynamic-ized triggers and translations added a "matches" to "like" translation added a "serial" to "autoincrement" translation fixed debug option to query command line client added javac compile test to configure script fixed an __attribute__ problem that could occur if perl was compiled with gcc>2.95 but used on a system with only gcc-2.95 available fixed an oustanding tcl bug that caused cursors not to be created fixed several bugs related to escaping quotes refactored OS detection in configure script added \n after reading from stdin on Haiku updated docs to reflect that mysql supports ?-based bind vars 0.45 - added trigger framework added support for getting the native database error number added support for mapping native error numbers to MySQL error numbers for the mysql drop-in replacement library renamed all .C files to .cpp for windows added msvc projects for sqlrclient, sqlrclientwrapper, sqlrutil and sqlrsh and got them all working natively on windows updated code so ttl="0" works as expected updated code so dynamic scaling of cursors works as expected documented dynamic scaling of cursors somewhat fixed a few mdbtools errors column aliases work as expected now with firebird fixed a bug where if an app either enabled or disabled autocommit, that could become the default status of autocommit rather than what was set in the config file added autocommit on/off to sqlrsh fixed a bind-var-related memory leak in mysql drop-in lib fixed return values in mysql drop-in lib updated getTableList() to exclude system tables applied Benno Lange's localstatedir patch to fix a case where the localstatedir command line parameter wasn't working properly applied Renat's listener alarm handling patch 0.44 - updated postgresql drop-in lib for postgresql 8/9 compatibility updated mysql drop-in lib for mysql 5.2+ compatibility applied Renat's patch to fix the client session count in the stats added getDatabase/Table/ColumnList method/functions to API's added string inputBind method/function with length added bind variable translation added transaction block emulation