Commit graph

26 commits

Author SHA1 Message Date
adam
da0a125726 revbump for boost-libs 2021-04-21 13:24:06 +00:00
adam
b39fb78cc7 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
2021-02-16 13:12:38 +00:00
wiz
00da7815c0 *: bump PKGREVISION for perl-5.32. 2020-08-31 18:06:29 +00:00
adam
d62c903eea revbump after updating security/nettle 2020-05-22 10:55:42 +00:00
rillig
2113245267 databases/ruby-sqlrelay: avoid USE_TOOLS+=perl warning 2020-05-13 03:25:16 +00:00
adam
7d4b705c63 revbump after boost update 2020-05-06 14:04:05 +00:00
wiz
f669fda471 *: recursive bump for libffi 2020-03-08 16:47:24 +00:00
jperkin
26c1bffc9f *: Recursive revision bump for openssl 1.1.1. 2020-01-18 21:48:19 +00:00
ryoon
eedd1e806f *: Recursive revbump from devel/boost-libs 2020-01-12 20:19:52 +00:00
ryoon
edacf2bbcb Recursive revbump from boost-1.71.0 2019-08-22 12:22:48 +00:00
wiz
c30c5fbc0b *: recursive bump for nettle 3.5.1 2019-07-20 22:45:58 +00:00
ryoon
57d0806c39 Recursive revbump from boost-1.70.0 2019-07-01 04:07:44 +00:00
adam
5b12b7b592 revbump for boost 1.69.0 2018-12-13 19:51:31 +00:00
adam
9d06c0a472 revbump after boost-libs update 2018-08-16 18:54:26 +00:00
adam
35aa3efc12 revbump for boost-libs update 2018-04-29 21:31:17 +00:00
adam
983847f667 Revbump after boost update 2018-01-01 21:18:06 +00:00
adam
931d707fe2 Revbump for boost update 2017-08-24 20:03:08 +00:00
ryoon
76884737ca Recursive revbump from boost update 2017-04-30 01:21:19 +00:00
fhajny
4cca6fbb50 Reset PKGREVISION after sqlrelay master package update. 2017-01-16 13:15:22 +00:00
adam
76632718ac Revbump after boost update 2017-01-01 16:05:55 +00:00
fhajny
24b4a2b065 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
2016-10-21 14:16:34 +00:00
adam
3b88bd43a5 Revbump post boost update 2016-10-07 18:25:29 +00:00
fhajny
61b8e257f1 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
2016-07-01 17:02:38 +00:00
jperkin
17661ff9a5 Bump PKGREVISION for security/openssl ABI bump. 2016-03-05 11:27:40 +00:00
ryoon
36613f5fa9 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
2015-05-20 13:26:45 +00:00
fhajny
d36a22efb2 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
2014-05-22 12:50:47 +00:00