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 14:12:38 +01:00
|
|
|
@comment $NetBSD: PLIST,v 1.20 2021/02/16 13:12:39 adam Exp $
|
Initial import of sqlrelay-0.33.1 into the NetBSD packages collection.
SQL Relay is a persistent database connection pooling, proxying and
load balancing system for Unix and Linux supporting ODBC, Oracle,
MySQL, mSQL, PostgreSQL, Sybase, MS SQL Server, IBM DB2, Interbase,
Lago and SQLite with APIs for C, C++, Perl, Perl-DBI, Python,
Python-DB, Zope, PHP, Ruby, Ruby-DBI, TCL and Java, command line
clients, a GUI configuration tool and extensive documentation.
The APIs support advanced database operations such as bind variables,
multi-row fetches, client side result set caching and suspended
transactions. It is ideal for speeding up database-driven web-based
applications, accessing databases from unsupported platforms,
migrating between databases, distributing access to replicated
databases and throttling database access.
2004-04-15 12:37:24 +02:00
|
|
|
bin/sqlr-cachemanager
|
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 14:50:47 +02:00
|
|
|
bin/sqlr-connection
|
2006-03-29 03:28:46 +02:00
|
|
|
bin/sqlr-export
|
|
|
|
bin/sqlr-import
|
Initial import of sqlrelay-0.33.1 into the NetBSD packages collection.
SQL Relay is a persistent database connection pooling, proxying and
load balancing system for Unix and Linux supporting ODBC, Oracle,
MySQL, mSQL, PostgreSQL, Sybase, MS SQL Server, IBM DB2, Interbase,
Lago and SQLite with APIs for C, C++, Perl, Perl-DBI, Python,
Python-DB, Zope, PHP, Ruby, Ruby-DBI, TCL and Java, command line
clients, a GUI configuration tool and extensive documentation.
The APIs support advanced database operations such as bind variables,
multi-row fetches, client side result set caching and suspended
transactions. It is ideal for speeding up database-driven web-based
applications, accessing databases from unsupported platforms,
migrating between databases, distributing access to replicated
databases and throttling database access.
2004-04-15 12:37:24 +02:00
|
|
|
bin/sqlr-listener
|
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 14:50:47 +02:00
|
|
|
bin/sqlr-pwdenc
|
Initial import of sqlrelay-0.33.1 into the NetBSD packages collection.
SQL Relay is a persistent database connection pooling, proxying and
load balancing system for Unix and Linux supporting ODBC, Oracle,
MySQL, mSQL, PostgreSQL, Sybase, MS SQL Server, IBM DB2, Interbase,
Lago and SQLite with APIs for C, C++, Perl, Perl-DBI, Python,
Python-DB, Zope, PHP, Ruby, Ruby-DBI, TCL and Java, command line
clients, a GUI configuration tool and extensive documentation.
The APIs support advanced database operations such as bind variables,
multi-row fetches, client side result set caching and suspended
transactions. It is ideal for speeding up database-driven web-based
applications, accessing databases from unsupported platforms,
migrating between databases, distributing access to replicated
databases and throttling database access.
2004-04-15 12:37:24 +02:00
|
|
|
bin/sqlr-scaler
|
|
|
|
bin/sqlr-start
|
Updated databases/sqlrelay to 0.43
pkgsrc changes:
* Added LICENSE to package and options
* Pre-create neede volatile directories
* Improve the NetBSD rc.d script
0.43
* updated ruby code build to take sitearch into account during includes
* updated ruby code to map STR2CSTR to StringValuePtr for ruby 1.9
* updated to use rudiments' updated signalclasses
* replaced calls to fork() and exit() with process class calls
* updated ruby detection in configure script
* added a test for Python.h to the configure script
* updated tcl detection
* updated db2 detection
* added sed command to remove -arch args from perl build (for osx)
* added charset support for all db's who's client libraries support them
* updated detection of various languages and db's on various platforms
* added getting started with odbc doc
* updated faq with info about result sets from stored procedures
0.42
* fixed a bug causing cursor id's not to get set for some db's
* updated configure script to look for client64 in addition to client
for oracle intantclient on x86_64
* added setTimeout to all API's
* applied some patches from Alexey Leontev
* bumped BINDVARLENGTH up to 64
* applied Renat Sabitov's scaler -debug patch and 11g configure patch
* applied Stephan van Egmond's sqlrsh history patch
* added configure test for gmake, use it to find ruby.h
* applied mingang@taobao.com's scaler patch for -debug
* added getting started notes for Oracle 11.2 on Fedora Core 12
* added test for mdb_sql_run_query and code to use it if it's there
* fixed a bug that caused ping to fail after reconnecting to sybase
* added configure test for xsubpp
* fixed perl dbi inout bind problem
* fixed code that was adding a NULL terminator to oracle clob values
* applied several patches from Renat Sabitov
* applied dynamic cursor patch from Cal Heldenbrand
* applied Claudio Freire's normalized matching and xmlparsing patches
* fixed sqlite connection to use sqlite3_malloc/free
* update freetds connection to get tds version with ct_config if
TDS_VERSION_NO doesn't exist
* applied a fix for a bug that could cause a crash when a cursor is reused
* fixed a shutdown race condition in connection daemons
* moved common startup/shutdown code for connection daemons up into
static methods/variables of the sqlrconnection_svr class
* fixed a crash in the oracle connection daemon where OCIHandleFree was
getting called on define handles that weren't created by OCIHandleAlloc
* removed rebuild target from Makefiles
* updated tests
* refactored main() method for connections
* added searches for ruby1.8, ruby19 and ruby1.9 in configure script
* fixed a bug that caused addresses="" to cause the sqlr-listener not to start
* added entries to FAQ about oracle instantclient and ubunu /bin/dash
* updated postgresql tests to use bpchar rather than char(20) for
fetching results of stored procedure
* renamed interbase.create.sh to firebird.create.sh
* fixed a bug that could overrun the postgresql bind array
* fixed bug that caused connection daemon sockets to be double-freed on
shutdown after a suspended session
* precision/scale in output bind buffers is initialized now
* debugstring buffers are no longer build when debug is turned off
* fixed id vs. index bug when requesting a cursor and binding a cursor
* refactored JNI code a bit, fixed getIntField/getLongField problem that
caused problems on 64-bit machines
* applied patch to make python api return decimals and integers, not
just strings, refactored some of it
* fixed dump tran docs in getting started with sybase to use sa
* updated sybase connection to use length of cursor name rather than
CS_NULLTERM to work around an odd, inconsistent bug that would
cause the connection to hang sometimes
* connections not spawned by scaler don't signal on the semaphore used
by the scaler to wait for a connection to start now
* updated bind var docs
* updated faq
* fixed a bug where binding an oracle cursor didn't reset some values
and would cause subsequent cursor binds to fail
* added note to docs about configuring sybase to dump transactions at each
checkpoint
* applied Renat Sabitov's patch to kill scaler-started connections which fail
to signal on sem(8) because they either crashed or got hung up trying
to start
* fixed a bug in the mysql drop-in lib that could cause the client to run out
of cursors
* added a mapping between sqlite3_free and sqlite_freemem
* added a fix for a race condition in the scaler
* fixed a postgresql bind memory leak
* applied Renat's ruby DESTDIR patch and updated helper scripts to
remove $(DESTDIR) from all the variables that it outputs
* applied Renat's patch to handle semaphore failures in forked listeners
during shutdown
* applied Renat's patch to move connection counting for scaler-spawned
connections entirely into scaler itself
* applied Renat's patch to reap children more regularly and refactored it
a little
* fixed distclean to remove perl .pm files
* changed maxsessioncount default to 0, updated docs, examples
0.41
* added configure test for ruby.h
* added a couple of new functions to the mysql drop-in library
* updated mysql drop-in lib docs explaining how to use with PHP
* added documentation for timequeries params
* if SQLConnectW isn't supported, ODBC driver uses non-unicode calls
* added maxsessioncount parameter and connections use it to override
ttl and bleed off
* applied Renat Sabitov's output bind patch
* added mysql last_insert_id() note to FAQ
* made it so oracle_home doesn't need to be set if oracle_sid is
specified in tnsnames.ora format
0.40
* fixed readline detection in configure script
* fixed an uninitialized variable in sqlr-import
* changed clientSession() to call endSessionCommand() instead of endSession()
so endSessionInternal() would be called every time
* fixed debug option in sqlr-import and sqlr-export
* fixed postgresql typemangling=no option
* set dbversion to unknown if sp_version wasn't found in freetds/sybase
* output bind variables' null indicator is reset now
* updated postgresql typemangling
* included Jesse Wagner's oracle 11g acsite patch
* added +1 to inbindvars[i].valuesize for CLOB's to make sure the NULL
terminator is included
* postgresql connection uses PQparameterStatus if PQserverVersion doesn't
exist and runs "select version()" if PQparameterStatus doesn't exist;
to get the db version
* added mysql-5.1 drop-in replacement lib
* fixed a bug that caused result set data not to be cleaned up before a cursor
is reused as a bind cursor
* changed string bind length to uint32_t from uint16_t
* added clearBinds() call after executeQuery() in perl dbi driver
* began work on an ODBC driver
* added serverVersion and clientVersion methods
* incorporated Alfred Fazio's python api patches
* fixed a bug where cursors might not get aborted when a client disconnects
* made shared memory segment group-readable
* applied Renaud Amar's HAVE_MYSQL_OPT_RECONNECT patch
* added ODBC driver to spec file
* added DESTDIR= to .pc files
* made freetds use single-quote for escape character, other db's use backslash
* made sqlr-export/import use &##; for non-printable characters, &, < and >
* fixed scaler; supports -localstatedir option properly now
* fixed many it's -> its typos in the documentation
* changed debug so that only one binary is built and it's selected at runtime
* integrated erlang api
* added -localstatedir to sqlr-stop
* fixed mysql (with statement api) relogin problems
* removed non-functional config app
* added Oracle 11g on fc9 document
* added ASE 15.0.2 installation doc
* made it possible to only bind to port, not socket
* added test for tdsver.h
0.39
* removed oracle7 support
* added OCI_OBJECT to oracle environment init
* added some more error codes to oracle's dead connection test
* connections don't decrement connection count when they fail to log in now :)
* added -silent option to connections that scaler uses so they don't spew
login errors if the db is down
* fixed a bug that disabled scaling if maxlisteners was -1 (the default, which
means no maximum)
* freetds, db2 connection don't detach before logging in any more
* added reloginatstart config parameter
* fixed sendLob for oracle<8i
* applied Johnny Luong's postgresql drop-in lib patch
* applied Jason McClellen's perl dbi raise-error patch
* sybase/freetds use CS_SEVERITY instead of msgp->severity now
* added 64 bit sybase tests
* postgresql only uses PQexecPrepared if PQprepare also exists
* set LANG=POSIX before running ruby/make so sed's would work on non-us
locales
* documented how to use mysql stored procedure output parameters
* applied james@thoughtpatterns.com's perl null bind patch
* applied Tim Bunce's perl dbi driver patch
* suppress error message of cat $ORACLE_HOME/lib/sysliblist in configure
script
* added support for stored procedures which return result sets to sybase
connection
* added support for stored procedures which return result sets to freetds
connection but it doesn't actually return anything
* documented how to use sybase stored procedure result sets
* fixed a bug that caused zope to get an exception when result sets are empty
* configure looks for instantclient if it can't find anything in
ORACLE_HOME, added --with-oracle-instantclient-prefix option
* added sybase ASE 15 install doc
* fixed a bug that caused the router connection to return a max of 10 rows
* applied Chris Coyle's mysql auto-reconnect patch
* modified countBindVariables to exclude :'s and @'s if it finds $'s or ?'s
* applied some of Tim Bunce's DBI patches
* added pid cleanup to init script similar to patch supplied by Ragnar Rova
* added validBind() method which will return whether a bind
variable is in the query or not
* fixed Yeb Havinga's db-tier authentication bug
* added timequeries option
* added support for Oracle OS-authentication
* added some new FAQ's
* mysql connection calls commit() before running the first query after
each new client connection
* fixed a crash in the router involving "fake begin's"
* documented msql transaction weirdness and db2 relogin issues
* added /opt/csw to configure script search path
* improved filtering out of -x arguments in perl/ruby make commands
* added -lruby, -lperl, -lpython, etc for OS X
0.38
* implemented mysql_stmt function support in mysql connection
* fixed mysql_autocommit detection
* fixed missing self before __getRow and __getRowRange in python db driver
* implemented query filtering and routing
* interbase/firebird dead-db/relogin works now
* added test for 0 length result set to PySQLRDB's fetchmany method
* added mysql_config sanity test to configure script
* NULL's are escaped in fake input BLOB binds now
* query router works pretty well now
* applied Sharpinskiy Dmitry's odbc unicode patch
* integrated Devananda's statistics gathering code
* added support for mysql stored procedures
* integrated Devananda's mysql result set updates
* sqlrelay.conf.example installed as $datadir/examples/sqlrelay.conf now
* integrated Andreas Behr's listener crash patch
* removed erroneous reference to sqlrcon_errormessage in php pear db
* another multibyte clob fix
* added "delimiter" command to sqlrsh to change delimiter from ; to whatever
* removed msql support
* added db2 9.1 installation doc
* added firebird 2.0 installation docs
* router connection overrides authtier=database
* fixed a bug where clients would hang if they requested a cursor when
none were available
* added some additional mdb 5 checks to configure script
* added iconv const char parameter check to configure script
* the main listener doesn't listen for clients until all of the connections
have started now
* added notes about tcp_tw_recycle/tcp_tw_reuse in tuning doc
* ping causes the connection to relogin if it returns false now
* added iconv include/library find to configure script
* fixed sqlrlistener so forked listeners don't remove the pid file
* switched oracle 8 column size variable type from sb4 to ub2
* if maxqueuelength>maxlisteners then scaling isn't used
2011-11-02 14:59:29 +01:00
|
|
|
bin/sqlr-status
|
Initial import of sqlrelay-0.33.1 into the NetBSD packages collection.
SQL Relay is a persistent database connection pooling, proxying and
load balancing system for Unix and Linux supporting ODBC, Oracle,
MySQL, mSQL, PostgreSQL, Sybase, MS SQL Server, IBM DB2, Interbase,
Lago and SQLite with APIs for C, C++, Perl, Perl-DBI, Python,
Python-DB, Zope, PHP, Ruby, Ruby-DBI, TCL and Java, command line
clients, a GUI configuration tool and extensive documentation.
The APIs support advanced database operations such as bind variables,
multi-row fetches, client side result set caching and suspended
transactions. It is ideal for speeding up database-driven web-based
applications, accessing databases from unsupported platforms,
migrating between databases, distributing access to replicated
databases and throttling database access.
2004-04-15 12:37:24 +02:00
|
|
|
bin/sqlr-stop
|
|
|
|
bin/sqlrclient-config
|
|
|
|
bin/sqlrclientwrapper-config
|
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 14:50:47 +02:00
|
|
|
bin/sqlrserver-config
|
Initial import of sqlrelay-0.33.1 into the NetBSD packages collection.
SQL Relay is a persistent database connection pooling, proxying and
load balancing system for Unix and Linux supporting ODBC, Oracle,
MySQL, mSQL, PostgreSQL, Sybase, MS SQL Server, IBM DB2, Interbase,
Lago and SQLite with APIs for C, C++, Perl, Perl-DBI, Python,
Python-DB, Zope, PHP, Ruby, Ruby-DBI, TCL and Java, command line
clients, a GUI configuration tool and extensive documentation.
The APIs support advanced database operations such as bind variables,
multi-row fetches, client side result set caching and suspended
transactions. It is ideal for speeding up database-driven web-based
applications, accessing databases from unsupported platforms,
migrating between databases, distributing access to replicated
databases and throttling database access.
2004-04-15 12:37:24 +02:00
|
|
|
bin/sqlrsh
|
Update databases/sqlrelay to 1.0.0.
sqlrelay 1.0.0
- updated md5 pwdenc to use rudiments md5 class
- solved a long-standing hang that could occur if the database password
expired while sqlrelay was running, and the sqlr-scaler attempted to
start new connections
- added convertcase, convertcasedoublequotes, and removedoublequotes
parameters to normalize translation module
- added ColumnCaseName parameter to ODBC driver
- fixed a subtle bug in the ODBC driver that caused the first row to be
skipped if columns were not bound
- added -backtrace option for debugging
- fixed mysql connection module so it can use the statement API on
Windows
- fixed semaphore reference-before-init bug in sqlrservercontroller
- added support for db, debug, columnnamecase, dontgetcolumninfo,
nullsasnulls, and lazyconnect connect-string options to all drivers
(though in some they are camel-case and others lower-case)
- in DB-abstraction-layer drivers, the debug, dontgetcolumninfo,
nullsasnulls, lazyconnect, krb, and tls connect-string options now
support any yes/no equivalent such as yes, Yes, y, Y, true, True, 1,
(and similar for no)
- fixed a regression that could cause crashes in the C#/ADO driver when
binding null or date values
- added all parameters to ODBC config screen
- removed calls to mysql_stmt_store_result/mysql_stmt_num_rows from
mysql connection to improve performance. mysql connection doesn't know
the total number of rows prior to full fetch now (which is consistent
with most other databases).
- updated postgresql connection to use an unnamed cursor instead of
naming it and having to deallocate it over an over
- tweaked skipWhitespaceAndComments and related methods to use
charstring::isNullOrEmpty and character::isWhitespace
- replaced regular expression comparisons in sap/freetds connections
with simpler charstring comparisons
- updated db2 connection to reuse the statement instead of recreating it
with each prepare
- made column-lookup by name case sensitive to improve performance
- fixed nagle-disable and sizing of socket read/write buffers
- changed default maxcursors to 5
- fixed an uninitialized variable in the firebird connection
- python api's are installed in dist-packages subdirectory on systems
that have that instead of site-packages
- added route-entire-session option to router modules
sqlrelay 0.67.0
- general documenation clean-up
- added missing all: target to man/Makefile
- mysql_info in drop-in library for mysql returns NULL instead of "" now
- mysql_errno in the drop-in library now returns the error number from
the DB, instead of CR_UNKNOWN_ERROR, if no error map is provided, and
the backend database is known to be mysql
- mysql_refresh in the drop-in library works with options other than
REFRESH_GRANT now
- mysql_shutdown/kill in the drop-in library return 1 on failure now
rather than 2000
- date/time and timestamp types are recognized as binary types now
- year/timestamp types are recognized as unsigned types now
- TINY/MEDIUM/LONG_TEXT types are recognized as blobs now
- mapping date/time to MYSQL_TYPE_DATE/TIME, rather than
MYSQL_TYPE_DATETIME is the default in the drop-in library now and
SQLR_MAP_DATETIME_TO_DATE has been removed
- mysql drop-in library sets column flags correctly now
- mysql drop-in library runs appropriate kill/shutdown queries now
- mysql connection uses non-stmt api for "show *" queries now
- mysql drop-in library runs "show processlist" for mysql_list_processes
- mysql drop-in library supports date/time/datetime input binds now
instead of just treating them all as datetimes
- connection modules differentiate between date/time/datetime binds now
instead of just treating them all as datetimes
- added result set row translation module framework
- updated firebird connection module to the fieldstruct.textbuffer
instead of fieldbuffer for non-text to text translations
- added support for negative times in mysql connection module and
drop-in library
- added translation-failure event
- general refactoring of server module API
- consolidated sqlr-scaler code
- fixed a 1-byte empty-blob memory leak in the client
- /etc/alternatives/java_sdk is preferred, if found, now
2017-01-16 14:13:13 +01:00
|
|
|
include/sqlrelay/private/sqlrauth.h
|
|
|
|
include/sqlrelay/private/sqlrauths.h
|
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 14:12:38 +01:00
|
|
|
include/sqlrelay/private/sqlrbindvariabletranslation.h
|
|
|
|
include/sqlrelay/private/sqlrbindvariabletranslations.h
|
2016-07-01 19:02:38 +02:00
|
|
|
include/sqlrelay/private/sqlrclientincludes.h
|
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 14:50:47 +02:00
|
|
|
include/sqlrelay/private/sqlrclientwrapper.h
|
2016-07-01 19:02:38 +02:00
|
|
|
include/sqlrelay/private/sqlrclientwrapperincludes.h
|
Initial import of sqlrelay-0.33.1 into the NetBSD packages collection.
SQL Relay is a persistent database connection pooling, proxying and
load balancing system for Unix and Linux supporting ODBC, Oracle,
MySQL, mSQL, PostgreSQL, Sybase, MS SQL Server, IBM DB2, Interbase,
Lago and SQLite with APIs for C, C++, Perl, Perl-DBI, Python,
Python-DB, Zope, PHP, Ruby, Ruby-DBI, TCL and Java, command line
clients, a GUI configuration tool and extensive documentation.
The APIs support advanced database operations such as bind variables,
multi-row fetches, client side result set caching and suspended
transactions. It is ideal for speeding up database-driven web-based
applications, accessing databases from unsupported platforms,
migrating between databases, distributing access to replicated
databases and throttling database access.
2004-04-15 12:37:24 +02:00
|
|
|
include/sqlrelay/private/sqlrconnection.h
|
|
|
|
include/sqlrelay/private/sqlrcursor.h
|
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 14:12:38 +01:00
|
|
|
include/sqlrelay/private/sqlrdirective.h
|
|
|
|
include/sqlrelay/private/sqlrdirectives.h
|
|
|
|
include/sqlrelay/private/sqlrexport.h
|
|
|
|
include/sqlrelay/private/sqlrexportcsv.h
|
|
|
|
include/sqlrelay/private/sqlrexportcsvincludes.h
|
|
|
|
include/sqlrelay/private/sqlrexportincludes.h
|
|
|
|
include/sqlrelay/private/sqlrexportxml.h
|
|
|
|
include/sqlrelay/private/sqlrexportxmlincludes.h
|
Update databases/sqlrelay to 1.0.0.
sqlrelay 1.0.0
- updated md5 pwdenc to use rudiments md5 class
- solved a long-standing hang that could occur if the database password
expired while sqlrelay was running, and the sqlr-scaler attempted to
start new connections
- added convertcase, convertcasedoublequotes, and removedoublequotes
parameters to normalize translation module
- added ColumnCaseName parameter to ODBC driver
- fixed a subtle bug in the ODBC driver that caused the first row to be
skipped if columns were not bound
- added -backtrace option for debugging
- fixed mysql connection module so it can use the statement API on
Windows
- fixed semaphore reference-before-init bug in sqlrservercontroller
- added support for db, debug, columnnamecase, dontgetcolumninfo,
nullsasnulls, and lazyconnect connect-string options to all drivers
(though in some they are camel-case and others lower-case)
- in DB-abstraction-layer drivers, the debug, dontgetcolumninfo,
nullsasnulls, lazyconnect, krb, and tls connect-string options now
support any yes/no equivalent such as yes, Yes, y, Y, true, True, 1,
(and similar for no)
- fixed a regression that could cause crashes in the C#/ADO driver when
binding null or date values
- added all parameters to ODBC config screen
- removed calls to mysql_stmt_store_result/mysql_stmt_num_rows from
mysql connection to improve performance. mysql connection doesn't know
the total number of rows prior to full fetch now (which is consistent
with most other databases).
- updated postgresql connection to use an unnamed cursor instead of
naming it and having to deallocate it over an over
- tweaked skipWhitespaceAndComments and related methods to use
charstring::isNullOrEmpty and character::isWhitespace
- replaced regular expression comparisons in sap/freetds connections
with simpler charstring comparisons
- updated db2 connection to reuse the statement instead of recreating it
with each prepare
- made column-lookup by name case sensitive to improve performance
- fixed nagle-disable and sizing of socket read/write buffers
- changed default maxcursors to 5
- fixed an uninitialized variable in the firebird connection
- python api's are installed in dist-packages subdirectory on systems
that have that instead of site-packages
- added route-entire-session option to router modules
sqlrelay 0.67.0
- general documenation clean-up
- added missing all: target to man/Makefile
- mysql_info in drop-in library for mysql returns NULL instead of "" now
- mysql_errno in the drop-in library now returns the error number from
the DB, instead of CR_UNKNOWN_ERROR, if no error map is provided, and
the backend database is known to be mysql
- mysql_refresh in the drop-in library works with options other than
REFRESH_GRANT now
- mysql_shutdown/kill in the drop-in library return 1 on failure now
rather than 2000
- date/time and timestamp types are recognized as binary types now
- year/timestamp types are recognized as unsigned types now
- TINY/MEDIUM/LONG_TEXT types are recognized as blobs now
- mapping date/time to MYSQL_TYPE_DATE/TIME, rather than
MYSQL_TYPE_DATETIME is the default in the drop-in library now and
SQLR_MAP_DATETIME_TO_DATE has been removed
- mysql drop-in library sets column flags correctly now
- mysql drop-in library runs appropriate kill/shutdown queries now
- mysql connection uses non-stmt api for "show *" queries now
- mysql drop-in library runs "show processlist" for mysql_list_processes
- mysql drop-in library supports date/time/datetime input binds now
instead of just treating them all as datetimes
- connection modules differentiate between date/time/datetime binds now
instead of just treating them all as datetimes
- added result set row translation module framework
- updated firebird connection module to the fieldstruct.textbuffer
instead of fieldbuffer for non-text to text translations
- added support for negative times in mysql connection module and
drop-in library
- added translation-failure event
- general refactoring of server module API
- consolidated sqlr-scaler code
- fixed a 1-byte empty-blob memory leak in the client
- /etc/alternatives/java_sdk is preferred, if found, now
2017-01-16 14:13:13 +01:00
|
|
|
include/sqlrelay/private/sqlrfilter.h
|
|
|
|
include/sqlrelay/private/sqlrfilters.h
|
|
|
|
include/sqlrelay/private/sqlrgsscredentials.h
|
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 14:12:38 +01:00
|
|
|
include/sqlrelay/private/sqlrimport.h
|
|
|
|
include/sqlrelay/private/sqlrimportcsv.h
|
|
|
|
include/sqlrelay/private/sqlrimportcsvincludes.h
|
|
|
|
include/sqlrelay/private/sqlrimportincludes.h
|
|
|
|
include/sqlrelay/private/sqlrimportxml.h
|
|
|
|
include/sqlrelay/private/sqlrimportxmlincludes.h
|
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 15:26:45 +02:00
|
|
|
include/sqlrelay/private/sqlrlistener.h
|
Update databases/sqlrelay to 1.0.0.
sqlrelay 1.0.0
- updated md5 pwdenc to use rudiments md5 class
- solved a long-standing hang that could occur if the database password
expired while sqlrelay was running, and the sqlr-scaler attempted to
start new connections
- added convertcase, convertcasedoublequotes, and removedoublequotes
parameters to normalize translation module
- added ColumnCaseName parameter to ODBC driver
- fixed a subtle bug in the ODBC driver that caused the first row to be
skipped if columns were not bound
- added -backtrace option for debugging
- fixed mysql connection module so it can use the statement API on
Windows
- fixed semaphore reference-before-init bug in sqlrservercontroller
- added support for db, debug, columnnamecase, dontgetcolumninfo,
nullsasnulls, and lazyconnect connect-string options to all drivers
(though in some they are camel-case and others lower-case)
- in DB-abstraction-layer drivers, the debug, dontgetcolumninfo,
nullsasnulls, lazyconnect, krb, and tls connect-string options now
support any yes/no equivalent such as yes, Yes, y, Y, true, True, 1,
(and similar for no)
- fixed a regression that could cause crashes in the C#/ADO driver when
binding null or date values
- added all parameters to ODBC config screen
- removed calls to mysql_stmt_store_result/mysql_stmt_num_rows from
mysql connection to improve performance. mysql connection doesn't know
the total number of rows prior to full fetch now (which is consistent
with most other databases).
- updated postgresql connection to use an unnamed cursor instead of
naming it and having to deallocate it over an over
- tweaked skipWhitespaceAndComments and related methods to use
charstring::isNullOrEmpty and character::isWhitespace
- replaced regular expression comparisons in sap/freetds connections
with simpler charstring comparisons
- updated db2 connection to reuse the statement instead of recreating it
with each prepare
- made column-lookup by name case sensitive to improve performance
- fixed nagle-disable and sizing of socket read/write buffers
- changed default maxcursors to 5
- fixed an uninitialized variable in the firebird connection
- python api's are installed in dist-packages subdirectory on systems
that have that instead of site-packages
- added route-entire-session option to router modules
sqlrelay 0.67.0
- general documenation clean-up
- added missing all: target to man/Makefile
- mysql_info in drop-in library for mysql returns NULL instead of "" now
- mysql_errno in the drop-in library now returns the error number from
the DB, instead of CR_UNKNOWN_ERROR, if no error map is provided, and
the backend database is known to be mysql
- mysql_refresh in the drop-in library works with options other than
REFRESH_GRANT now
- mysql_shutdown/kill in the drop-in library return 1 on failure now
rather than 2000
- date/time and timestamp types are recognized as binary types now
- year/timestamp types are recognized as unsigned types now
- TINY/MEDIUM/LONG_TEXT types are recognized as blobs now
- mapping date/time to MYSQL_TYPE_DATE/TIME, rather than
MYSQL_TYPE_DATETIME is the default in the drop-in library now and
SQLR_MAP_DATETIME_TO_DATE has been removed
- mysql drop-in library sets column flags correctly now
- mysql drop-in library runs appropriate kill/shutdown queries now
- mysql connection uses non-stmt api for "show *" queries now
- mysql drop-in library runs "show processlist" for mysql_list_processes
- mysql drop-in library supports date/time/datetime input binds now
instead of just treating them all as datetimes
- connection modules differentiate between date/time/datetime binds now
instead of just treating them all as datetimes
- added result set row translation module framework
- updated firebird connection module to the fieldstruct.textbuffer
instead of fieldbuffer for non-text to text translations
- added support for negative times in mysql connection module and
drop-in library
- added translation-failure event
- general refactoring of server module API
- consolidated sqlr-scaler code
- fixed a 1-byte empty-blob memory leak in the client
- /etc/alternatives/java_sdk is preferred, if found, now
2017-01-16 14:13:13 +01:00
|
|
|
include/sqlrelay/private/sqlrlogger.h
|
|
|
|
include/sqlrelay/private/sqlrloggers.h
|
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 14:12:38 +01:00
|
|
|
include/sqlrelay/private/sqlrmoduledata.h
|
|
|
|
include/sqlrelay/private/sqlrmoduledata_tag.h
|
|
|
|
include/sqlrelay/private/sqlrmoduledatas.h
|
|
|
|
include/sqlrelay/private/sqlrmysqlcredentials.h
|
Update databases/sqlrelay to 1.0.0.
sqlrelay 1.0.0
- updated md5 pwdenc to use rudiments md5 class
- solved a long-standing hang that could occur if the database password
expired while sqlrelay was running, and the sqlr-scaler attempted to
start new connections
- added convertcase, convertcasedoublequotes, and removedoublequotes
parameters to normalize translation module
- added ColumnCaseName parameter to ODBC driver
- fixed a subtle bug in the ODBC driver that caused the first row to be
skipped if columns were not bound
- added -backtrace option for debugging
- fixed mysql connection module so it can use the statement API on
Windows
- fixed semaphore reference-before-init bug in sqlrservercontroller
- added support for db, debug, columnnamecase, dontgetcolumninfo,
nullsasnulls, and lazyconnect connect-string options to all drivers
(though in some they are camel-case and others lower-case)
- in DB-abstraction-layer drivers, the debug, dontgetcolumninfo,
nullsasnulls, lazyconnect, krb, and tls connect-string options now
support any yes/no equivalent such as yes, Yes, y, Y, true, True, 1,
(and similar for no)
- fixed a regression that could cause crashes in the C#/ADO driver when
binding null or date values
- added all parameters to ODBC config screen
- removed calls to mysql_stmt_store_result/mysql_stmt_num_rows from
mysql connection to improve performance. mysql connection doesn't know
the total number of rows prior to full fetch now (which is consistent
with most other databases).
- updated postgresql connection to use an unnamed cursor instead of
naming it and having to deallocate it over an over
- tweaked skipWhitespaceAndComments and related methods to use
charstring::isNullOrEmpty and character::isWhitespace
- replaced regular expression comparisons in sap/freetds connections
with simpler charstring comparisons
- updated db2 connection to reuse the statement instead of recreating it
with each prepare
- made column-lookup by name case sensitive to improve performance
- fixed nagle-disable and sizing of socket read/write buffers
- changed default maxcursors to 5
- fixed an uninitialized variable in the firebird connection
- python api's are installed in dist-packages subdirectory on systems
that have that instead of site-packages
- added route-entire-session option to router modules
sqlrelay 0.67.0
- general documenation clean-up
- added missing all: target to man/Makefile
- mysql_info in drop-in library for mysql returns NULL instead of "" now
- mysql_errno in the drop-in library now returns the error number from
the DB, instead of CR_UNKNOWN_ERROR, if no error map is provided, and
the backend database is known to be mysql
- mysql_refresh in the drop-in library works with options other than
REFRESH_GRANT now
- mysql_shutdown/kill in the drop-in library return 1 on failure now
rather than 2000
- date/time and timestamp types are recognized as binary types now
- year/timestamp types are recognized as unsigned types now
- TINY/MEDIUM/LONG_TEXT types are recognized as blobs now
- mapping date/time to MYSQL_TYPE_DATE/TIME, rather than
MYSQL_TYPE_DATETIME is the default in the drop-in library now and
SQLR_MAP_DATETIME_TO_DATE has been removed
- mysql drop-in library sets column flags correctly now
- mysql drop-in library runs appropriate kill/shutdown queries now
- mysql connection uses non-stmt api for "show *" queries now
- mysql drop-in library runs "show processlist" for mysql_list_processes
- mysql drop-in library supports date/time/datetime input binds now
instead of just treating them all as datetimes
- connection modules differentiate between date/time/datetime binds now
instead of just treating them all as datetimes
- added result set row translation module framework
- updated firebird connection module to the fieldstruct.textbuffer
instead of fieldbuffer for non-text to text translations
- added support for negative times in mysql connection module and
drop-in library
- added translation-failure event
- general refactoring of server module API
- consolidated sqlr-scaler code
- fixed a 1-byte empty-blob memory leak in the client
- /etc/alternatives/java_sdk is preferred, if found, now
2017-01-16 14:13:13 +01:00
|
|
|
include/sqlrelay/private/sqlrnotification.h
|
|
|
|
include/sqlrelay/private/sqlrnotifications.h
|
|
|
|
include/sqlrelay/private/sqlrparser.h
|
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 14:12:38 +01:00
|
|
|
include/sqlrelay/private/sqlrpostgresqlcredentials.h
|
Update databases/sqlrelay to 1.0.0.
sqlrelay 1.0.0
- updated md5 pwdenc to use rudiments md5 class
- solved a long-standing hang that could occur if the database password
expired while sqlrelay was running, and the sqlr-scaler attempted to
start new connections
- added convertcase, convertcasedoublequotes, and removedoublequotes
parameters to normalize translation module
- added ColumnCaseName parameter to ODBC driver
- fixed a subtle bug in the ODBC driver that caused the first row to be
skipped if columns were not bound
- added -backtrace option for debugging
- fixed mysql connection module so it can use the statement API on
Windows
- fixed semaphore reference-before-init bug in sqlrservercontroller
- added support for db, debug, columnnamecase, dontgetcolumninfo,
nullsasnulls, and lazyconnect connect-string options to all drivers
(though in some they are camel-case and others lower-case)
- in DB-abstraction-layer drivers, the debug, dontgetcolumninfo,
nullsasnulls, lazyconnect, krb, and tls connect-string options now
support any yes/no equivalent such as yes, Yes, y, Y, true, True, 1,
(and similar for no)
- fixed a regression that could cause crashes in the C#/ADO driver when
binding null or date values
- added all parameters to ODBC config screen
- removed calls to mysql_stmt_store_result/mysql_stmt_num_rows from
mysql connection to improve performance. mysql connection doesn't know
the total number of rows prior to full fetch now (which is consistent
with most other databases).
- updated postgresql connection to use an unnamed cursor instead of
naming it and having to deallocate it over an over
- tweaked skipWhitespaceAndComments and related methods to use
charstring::isNullOrEmpty and character::isWhitespace
- replaced regular expression comparisons in sap/freetds connections
with simpler charstring comparisons
- updated db2 connection to reuse the statement instead of recreating it
with each prepare
- made column-lookup by name case sensitive to improve performance
- fixed nagle-disable and sizing of socket read/write buffers
- changed default maxcursors to 5
- fixed an uninitialized variable in the firebird connection
- python api's are installed in dist-packages subdirectory on systems
that have that instead of site-packages
- added route-entire-session option to router modules
sqlrelay 0.67.0
- general documenation clean-up
- added missing all: target to man/Makefile
- mysql_info in drop-in library for mysql returns NULL instead of "" now
- mysql_errno in the drop-in library now returns the error number from
the DB, instead of CR_UNKNOWN_ERROR, if no error map is provided, and
the backend database is known to be mysql
- mysql_refresh in the drop-in library works with options other than
REFRESH_GRANT now
- mysql_shutdown/kill in the drop-in library return 1 on failure now
rather than 2000
- date/time and timestamp types are recognized as binary types now
- year/timestamp types are recognized as unsigned types now
- TINY/MEDIUM/LONG_TEXT types are recognized as blobs now
- mapping date/time to MYSQL_TYPE_DATE/TIME, rather than
MYSQL_TYPE_DATETIME is the default in the drop-in library now and
SQLR_MAP_DATETIME_TO_DATE has been removed
- mysql drop-in library sets column flags correctly now
- mysql drop-in library runs appropriate kill/shutdown queries now
- mysql connection uses non-stmt api for "show *" queries now
- mysql drop-in library runs "show processlist" for mysql_list_processes
- mysql drop-in library supports date/time/datetime input binds now
instead of just treating them all as datetimes
- connection modules differentiate between date/time/datetime binds now
instead of just treating them all as datetimes
- added result set row translation module framework
- updated firebird connection module to the fieldstruct.textbuffer
instead of fieldbuffer for non-text to text translations
- added support for negative times in mysql connection module and
drop-in library
- added translation-failure event
- general refactoring of server module API
- consolidated sqlr-scaler code
- fixed a 1-byte empty-blob memory leak in the client
- /etc/alternatives/java_sdk is preferred, if found, now
2017-01-16 14:13:13 +01:00
|
|
|
include/sqlrelay/private/sqlrprotocol.h
|
|
|
|
include/sqlrelay/private/sqlrprotocols.h
|
|
|
|
include/sqlrelay/private/sqlrpwdenc.h
|
|
|
|
include/sqlrelay/private/sqlrpwdencs.h
|
|
|
|
include/sqlrelay/private/sqlrqueries.h
|
|
|
|
include/sqlrelay/private/sqlrquery.h
|
|
|
|
include/sqlrelay/private/sqlrquerycursor.h
|
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 14:12:38 +01:00
|
|
|
include/sqlrelay/private/sqlrresultsetdomnode.h
|
|
|
|
include/sqlrelay/private/sqlrresultsetdomnodeincludes.h
|
|
|
|
include/sqlrelay/private/sqlrresultsetheadertranslation.h
|
|
|
|
include/sqlrelay/private/sqlrresultsetheadertranslations.h
|
|
|
|
include/sqlrelay/private/sqlrresultsetrowblocktranslation.h
|
|
|
|
include/sqlrelay/private/sqlrresultsetrowblocktranslations.h
|
Update databases/sqlrelay to 1.0.0.
sqlrelay 1.0.0
- updated md5 pwdenc to use rudiments md5 class
- solved a long-standing hang that could occur if the database password
expired while sqlrelay was running, and the sqlr-scaler attempted to
start new connections
- added convertcase, convertcasedoublequotes, and removedoublequotes
parameters to normalize translation module
- added ColumnCaseName parameter to ODBC driver
- fixed a subtle bug in the ODBC driver that caused the first row to be
skipped if columns were not bound
- added -backtrace option for debugging
- fixed mysql connection module so it can use the statement API on
Windows
- fixed semaphore reference-before-init bug in sqlrservercontroller
- added support for db, debug, columnnamecase, dontgetcolumninfo,
nullsasnulls, and lazyconnect connect-string options to all drivers
(though in some they are camel-case and others lower-case)
- in DB-abstraction-layer drivers, the debug, dontgetcolumninfo,
nullsasnulls, lazyconnect, krb, and tls connect-string options now
support any yes/no equivalent such as yes, Yes, y, Y, true, True, 1,
(and similar for no)
- fixed a regression that could cause crashes in the C#/ADO driver when
binding null or date values
- added all parameters to ODBC config screen
- removed calls to mysql_stmt_store_result/mysql_stmt_num_rows from
mysql connection to improve performance. mysql connection doesn't know
the total number of rows prior to full fetch now (which is consistent
with most other databases).
- updated postgresql connection to use an unnamed cursor instead of
naming it and having to deallocate it over an over
- tweaked skipWhitespaceAndComments and related methods to use
charstring::isNullOrEmpty and character::isWhitespace
- replaced regular expression comparisons in sap/freetds connections
with simpler charstring comparisons
- updated db2 connection to reuse the statement instead of recreating it
with each prepare
- made column-lookup by name case sensitive to improve performance
- fixed nagle-disable and sizing of socket read/write buffers
- changed default maxcursors to 5
- fixed an uninitialized variable in the firebird connection
- python api's are installed in dist-packages subdirectory on systems
that have that instead of site-packages
- added route-entire-session option to router modules
sqlrelay 0.67.0
- general documenation clean-up
- added missing all: target to man/Makefile
- mysql_info in drop-in library for mysql returns NULL instead of "" now
- mysql_errno in the drop-in library now returns the error number from
the DB, instead of CR_UNKNOWN_ERROR, if no error map is provided, and
the backend database is known to be mysql
- mysql_refresh in the drop-in library works with options other than
REFRESH_GRANT now
- mysql_shutdown/kill in the drop-in library return 1 on failure now
rather than 2000
- date/time and timestamp types are recognized as binary types now
- year/timestamp types are recognized as unsigned types now
- TINY/MEDIUM/LONG_TEXT types are recognized as blobs now
- mapping date/time to MYSQL_TYPE_DATE/TIME, rather than
MYSQL_TYPE_DATETIME is the default in the drop-in library now and
SQLR_MAP_DATETIME_TO_DATE has been removed
- mysql drop-in library sets column flags correctly now
- mysql drop-in library runs appropriate kill/shutdown queries now
- mysql connection uses non-stmt api for "show *" queries now
- mysql drop-in library runs "show processlist" for mysql_list_processes
- mysql drop-in library supports date/time/datetime input binds now
instead of just treating them all as datetimes
- connection modules differentiate between date/time/datetime binds now
instead of just treating them all as datetimes
- added result set row translation module framework
- updated firebird connection module to the fieldstruct.textbuffer
instead of fieldbuffer for non-text to text translations
- added support for negative times in mysql connection module and
drop-in library
- added translation-failure event
- general refactoring of server module API
- consolidated sqlr-scaler code
- fixed a 1-byte empty-blob memory leak in the client
- /etc/alternatives/java_sdk is preferred, if found, now
2017-01-16 14:13:13 +01:00
|
|
|
include/sqlrelay/private/sqlrresultsetrowtranslation.h
|
|
|
|
include/sqlrelay/private/sqlrresultsetrowtranslations.h
|
|
|
|
include/sqlrelay/private/sqlrresultsettranslation.h
|
|
|
|
include/sqlrelay/private/sqlrresultsettranslations.h
|
|
|
|
include/sqlrelay/private/sqlrrouter.h
|
|
|
|
include/sqlrelay/private/sqlrrouters.h
|
|
|
|
include/sqlrelay/private/sqlrschedule.h
|
|
|
|
include/sqlrelay/private/sqlrschedulerule.h
|
|
|
|
include/sqlrelay/private/sqlrschedules.h
|
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 15:26:45 +02:00
|
|
|
include/sqlrelay/private/sqlrserverconnection.h
|
|
|
|
include/sqlrelay/private/sqlrservercontroller.h
|
|
|
|
include/sqlrelay/private/sqlrservercursor.h
|
|
|
|
include/sqlrelay/private/sqlrserverincludes.h
|
Update databases/sqlrelay to 1.0.0.
sqlrelay 1.0.0
- updated md5 pwdenc to use rudiments md5 class
- solved a long-standing hang that could occur if the database password
expired while sqlrelay was running, and the sqlr-scaler attempted to
start new connections
- added convertcase, convertcasedoublequotes, and removedoublequotes
parameters to normalize translation module
- added ColumnCaseName parameter to ODBC driver
- fixed a subtle bug in the ODBC driver that caused the first row to be
skipped if columns were not bound
- added -backtrace option for debugging
- fixed mysql connection module so it can use the statement API on
Windows
- fixed semaphore reference-before-init bug in sqlrservercontroller
- added support for db, debug, columnnamecase, dontgetcolumninfo,
nullsasnulls, and lazyconnect connect-string options to all drivers
(though in some they are camel-case and others lower-case)
- in DB-abstraction-layer drivers, the debug, dontgetcolumninfo,
nullsasnulls, lazyconnect, krb, and tls connect-string options now
support any yes/no equivalent such as yes, Yes, y, Y, true, True, 1,
(and similar for no)
- fixed a regression that could cause crashes in the C#/ADO driver when
binding null or date values
- added all parameters to ODBC config screen
- removed calls to mysql_stmt_store_result/mysql_stmt_num_rows from
mysql connection to improve performance. mysql connection doesn't know
the total number of rows prior to full fetch now (which is consistent
with most other databases).
- updated postgresql connection to use an unnamed cursor instead of
naming it and having to deallocate it over an over
- tweaked skipWhitespaceAndComments and related methods to use
charstring::isNullOrEmpty and character::isWhitespace
- replaced regular expression comparisons in sap/freetds connections
with simpler charstring comparisons
- updated db2 connection to reuse the statement instead of recreating it
with each prepare
- made column-lookup by name case sensitive to improve performance
- fixed nagle-disable and sizing of socket read/write buffers
- changed default maxcursors to 5
- fixed an uninitialized variable in the firebird connection
- python api's are installed in dist-packages subdirectory on systems
that have that instead of site-packages
- added route-entire-session option to router modules
sqlrelay 0.67.0
- general documenation clean-up
- added missing all: target to man/Makefile
- mysql_info in drop-in library for mysql returns NULL instead of "" now
- mysql_errno in the drop-in library now returns the error number from
the DB, instead of CR_UNKNOWN_ERROR, if no error map is provided, and
the backend database is known to be mysql
- mysql_refresh in the drop-in library works with options other than
REFRESH_GRANT now
- mysql_shutdown/kill in the drop-in library return 1 on failure now
rather than 2000
- date/time and timestamp types are recognized as binary types now
- year/timestamp types are recognized as unsigned types now
- TINY/MEDIUM/LONG_TEXT types are recognized as blobs now
- mapping date/time to MYSQL_TYPE_DATE/TIME, rather than
MYSQL_TYPE_DATETIME is the default in the drop-in library now and
SQLR_MAP_DATETIME_TO_DATE has been removed
- mysql drop-in library sets column flags correctly now
- mysql drop-in library runs appropriate kill/shutdown queries now
- mysql connection uses non-stmt api for "show *" queries now
- mysql drop-in library runs "show processlist" for mysql_list_processes
- mysql drop-in library supports date/time/datetime input binds now
instead of just treating them all as datetimes
- connection modules differentiate between date/time/datetime binds now
instead of just treating them all as datetimes
- added result set row translation module framework
- updated firebird connection module to the fieldstruct.textbuffer
instead of fieldbuffer for non-text to text translations
- added support for negative times in mysql connection module and
drop-in library
- added translation-failure event
- general refactoring of server module API
- consolidated sqlr-scaler code
- fixed a 1-byte empty-blob memory leak in the client
- /etc/alternatives/java_sdk is preferred, if found, now
2017-01-16 14:13:13 +01:00
|
|
|
include/sqlrelay/private/sqlrshm.h
|
|
|
|
include/sqlrelay/private/sqlrtlscredentials.h
|
|
|
|
include/sqlrelay/private/sqlrtranslation.h
|
|
|
|
include/sqlrelay/private/sqlrtranslations.h
|
|
|
|
include/sqlrelay/private/sqlrtrigger.h
|
|
|
|
include/sqlrelay/private/sqlrtriggers.h
|
|
|
|
include/sqlrelay/private/sqlruserpasswordcredentials.h
|
2016-07-01 19:02:38 +02:00
|
|
|
include/sqlrelay/private/sqlrutilincludes.h
|
Initial import of sqlrelay-0.33.1 into the NetBSD packages collection.
SQL Relay is a persistent database connection pooling, proxying and
load balancing system for Unix and Linux supporting ODBC, Oracle,
MySQL, mSQL, PostgreSQL, Sybase, MS SQL Server, IBM DB2, Interbase,
Lago and SQLite with APIs for C, C++, Perl, Perl-DBI, Python,
Python-DB, Zope, PHP, Ruby, Ruby-DBI, TCL and Java, command line
clients, a GUI configuration tool and extensive documentation.
The APIs support advanced database operations such as bind variables,
multi-row fetches, client side result set caching and suspended
transactions. It is ideal for speeding up database-driven web-based
applications, accessing databases from unsupported platforms,
migrating between databases, distributing access to replicated
databases and throttling database access.
2004-04-15 12:37:24 +02:00
|
|
|
include/sqlrelay/sqlrclient.h
|
|
|
|
include/sqlrelay/sqlrclientwrapper.h
|
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 14:12:38 +01:00
|
|
|
include/sqlrelay/sqlrexport.h
|
|
|
|
include/sqlrelay/sqlrexportcsv.h
|
|
|
|
include/sqlrelay/sqlrexportxml.h
|
|
|
|
include/sqlrelay/sqlrimport.h
|
|
|
|
include/sqlrelay/sqlrimportcsv.h
|
|
|
|
include/sqlrelay/sqlrimportxml.h
|
|
|
|
include/sqlrelay/sqlrresultsetdomnode.h
|
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 15:26:45 +02:00
|
|
|
include/sqlrelay/sqlrserver.h
|
|
|
|
include/sqlrelay/sqlrutil.h
|
Initial import of sqlrelay-0.33.1 into the NetBSD packages collection.
SQL Relay is a persistent database connection pooling, proxying and
load balancing system for Unix and Linux supporting ODBC, Oracle,
MySQL, mSQL, PostgreSQL, Sybase, MS SQL Server, IBM DB2, Interbase,
Lago and SQLite with APIs for C, C++, Perl, Perl-DBI, Python,
Python-DB, Zope, PHP, Ruby, Ruby-DBI, TCL and Java, command line
clients, a GUI configuration tool and extensive documentation.
The APIs support advanced database operations such as bind variables,
multi-row fetches, client side result set caching and suspended
transactions. It is ideal for speeding up database-driven web-based
applications, accessing databases from unsupported platforms,
migrating between databases, distributing access to replicated
databases and throttling database access.
2004-04-15 12:37:24 +02:00
|
|
|
lib/libsqlrclient.la
|
|
|
|
lib/libsqlrclientwrapper.la
|
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 14:50:47 +02:00
|
|
|
lib/libsqlrserver.la
|
Initial import of sqlrelay-0.33.1 into the NetBSD packages collection.
SQL Relay is a persistent database connection pooling, proxying and
load balancing system for Unix and Linux supporting ODBC, Oracle,
MySQL, mSQL, PostgreSQL, Sybase, MS SQL Server, IBM DB2, Interbase,
Lago and SQLite with APIs for C, C++, Perl, Perl-DBI, Python,
Python-DB, Zope, PHP, Ruby, Ruby-DBI, TCL and Java, command line
clients, a GUI configuration tool and extensive documentation.
The APIs support advanced database operations such as bind variables,
multi-row fetches, client side result set caching and suspended
transactions. It is ideal for speeding up database-driven web-based
applications, accessing databases from unsupported platforms,
migrating between databases, distributing access to replicated
databases and throttling database access.
2004-04-15 12:37:24 +02:00
|
|
|
lib/libsqlrutil.la
|
2006-03-29 03:28:46 +02:00
|
|
|
lib/pkgconfig/sqlrelay-c++.pc
|
|
|
|
lib/pkgconfig/sqlrelay-c.pc
|
2016-02-29 18:35:10 +01:00
|
|
|
libexec/sqlrelay/sqlrauth_database.${SOEXT}
|
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 14:12:38 +01:00
|
|
|
libexec/sqlrelay/sqlrauth_mysql_database.${SOEXT}
|
|
|
|
libexec/sqlrelay/sqlrauth_mysql_userlist.${SOEXT}
|
|
|
|
libexec/sqlrelay/sqlrauth_postgresql_userlist.${SOEXT}
|
2016-07-01 19:02:38 +02:00
|
|
|
libexec/sqlrelay/sqlrauth_proxied.${SOEXT}
|
2016-02-29 18:35:10 +01:00
|
|
|
libexec/sqlrelay/sqlrauth_sqlrelay.${SOEXT}
|
|
|
|
libexec/sqlrelay/sqlrauth_userlist.${SOEXT}
|
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 14:12:38 +01:00
|
|
|
libexec/sqlrelay/sqlrbindvariabletranslation_test.${SOEXT}
|
2016-07-01 19:02:38 +02:00
|
|
|
libexec/sqlrelay/sqlrconfig_xmldom.${SOEXT}
|
2016-02-29 18:35:10 +01:00
|
|
|
libexec/sqlrelay/sqlrconnection_router.${SOEXT}
|
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 14:12:38 +01:00
|
|
|
libexec/sqlrelay/sqlrdirective_crash.${SOEXT}
|
|
|
|
libexec/sqlrelay/sqlrdirective_custom_wf.${SOEXT}
|
2016-02-29 18:35:10 +01:00
|
|
|
libexec/sqlrelay/sqlrfilter_patterns.${SOEXT}
|
|
|
|
libexec/sqlrelay/sqlrfilter_regex.${SOEXT}
|
|
|
|
libexec/sqlrelay/sqlrfilter_string.${SOEXT}
|
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 14:12:38 +01:00
|
|
|
libexec/sqlrelay/sqlrfilter_tag.${SOEXT}
|
2016-02-29 18:35:10 +01:00
|
|
|
libexec/sqlrelay/sqlrlogger_custom_nw.${SOEXT}
|
|
|
|
libexec/sqlrelay/sqlrlogger_custom_sc.${SOEXT}
|
|
|
|
libexec/sqlrelay/sqlrlogger_debug.${SOEXT}
|
|
|
|
libexec/sqlrelay/sqlrlogger_slowqueries.${SOEXT}
|
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 14:12:38 +01:00
|
|
|
libexec/sqlrelay/sqlrlogger_sql.${SOEXT}
|
|
|
|
libexec/sqlrelay/sqlrlogger_stalecursors.${SOEXT}
|
|
|
|
libexec/sqlrelay/sqlrmoduledata_tag.${SOEXT}
|
2016-10-21 16:16:34 +02:00
|
|
|
libexec/sqlrelay/sqlrnotification_events.${SOEXT}
|
2016-02-29 18:35:10 +01:00
|
|
|
libexec/sqlrelay/sqlrparser_default.${SOEXT}
|
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 14:12:38 +01:00
|
|
|
libexec/sqlrelay/sqlrprotocol_mysql.${SOEXT}
|
|
|
|
libexec/sqlrelay/sqlrprotocol_postgresql.${SOEXT}
|
2016-02-29 18:35:10 +01:00
|
|
|
libexec/sqlrelay/sqlrprotocol_sqlrclient.${SOEXT}
|
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 14:12:38 +01:00
|
|
|
libexec/sqlrelay/sqlrpwdenc_aes128.${SOEXT}
|
2016-02-29 18:35:10 +01:00
|
|
|
libexec/sqlrelay/sqlrpwdenc_crypt.${SOEXT}
|
|
|
|
libexec/sqlrelay/sqlrpwdenc_md5.${SOEXT}
|
|
|
|
libexec/sqlrelay/sqlrpwdenc_rot.${SOEXT}
|
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 14:12:38 +01:00
|
|
|
libexec/sqlrelay/sqlrpwdenc_sha1.${SOEXT}
|
|
|
|
libexec/sqlrelay/sqlrpwdenc_sha256.${SOEXT}
|
2016-02-29 18:35:10 +01:00
|
|
|
libexec/sqlrelay/sqlrquery_sqlrcmdcstat.${SOEXT}
|
|
|
|
libexec/sqlrelay/sqlrquery_sqlrcmdgstat.${SOEXT}
|
|
|
|
libexec/sqlrelay/sqlrresultsettranslation_reformatdatetime.${SOEXT}
|
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 14:12:38 +01:00
|
|
|
libexec/sqlrelay/sqlrrouter_clientinfolist.${SOEXT}
|
2016-10-21 16:16:34 +02:00
|
|
|
libexec/sqlrelay/sqlrrouter_clientiplist.${SOEXT}
|
|
|
|
libexec/sqlrelay/sqlrrouter_regex.${SOEXT}
|
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 14:12:38 +01:00
|
|
|
libexec/sqlrelay/sqlrrouter_usedatabase.${SOEXT}
|
2016-10-21 16:16:34 +02:00
|
|
|
libexec/sqlrelay/sqlrrouter_userlist.${SOEXT}
|
|
|
|
libexec/sqlrelay/sqlrschedule_cron_userlist.${SOEXT}
|
2016-02-29 18:35:10 +01:00
|
|
|
libexec/sqlrelay/sqlrtranslation_normalize.${SOEXT}
|
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 14:12:38 +01:00
|
|
|
libexec/sqlrelay/sqlrtranslation_patterns.${SOEXT}
|
|
|
|
libexec/sqlrelay/sqlrtrigger_replay.${SOEXT}
|
2016-07-01 19:02:38 +02:00
|
|
|
man/man1/sqlr-export.1
|
|
|
|
man/man1/sqlr-import.1
|
Initial import of sqlrelay-0.33.1 into the NetBSD packages collection.
SQL Relay is a persistent database connection pooling, proxying and
load balancing system for Unix and Linux supporting ODBC, Oracle,
MySQL, mSQL, PostgreSQL, Sybase, MS SQL Server, IBM DB2, Interbase,
Lago and SQLite with APIs for C, C++, Perl, Perl-DBI, Python,
Python-DB, Zope, PHP, Ruby, Ruby-DBI, TCL and Java, command line
clients, a GUI configuration tool and extensive documentation.
The APIs support advanced database operations such as bind variables,
multi-row fetches, client side result set caching and suspended
transactions. It is ideal for speeding up database-driven web-based
applications, accessing databases from unsupported platforms,
migrating between databases, distributing access to replicated
databases and throttling database access.
2004-04-15 12:37:24 +02:00
|
|
|
man/man1/sqlrsh.1
|
|
|
|
man/man8/sqlr-cachemanager.8
|
|
|
|
man/man8/sqlr-connection.8
|
|
|
|
man/man8/sqlr-listener.8
|
2016-07-01 19:02:38 +02:00
|
|
|
man/man8/sqlr-pwdenc.8
|
Initial import of sqlrelay-0.33.1 into the NetBSD packages collection.
SQL Relay is a persistent database connection pooling, proxying and
load balancing system for Unix and Linux supporting ODBC, Oracle,
MySQL, mSQL, PostgreSQL, Sybase, MS SQL Server, IBM DB2, Interbase,
Lago and SQLite with APIs for C, C++, Perl, Perl-DBI, Python,
Python-DB, Zope, PHP, Ruby, Ruby-DBI, TCL and Java, command line
clients, a GUI configuration tool and extensive documentation.
The APIs support advanced database operations such as bind variables,
multi-row fetches, client side result set caching and suspended
transactions. It is ideal for speeding up database-driven web-based
applications, accessing databases from unsupported platforms,
migrating between databases, distributing access to replicated
databases and throttling database access.
2004-04-15 12:37:24 +02:00
|
|
|
man/man8/sqlr-scaler.8
|
|
|
|
man/man8/sqlr-start.8
|
2016-07-01 19:02:38 +02:00
|
|
|
man/man8/sqlr-status.8
|
Initial import of sqlrelay-0.33.1 into the NetBSD packages collection.
SQL Relay is a persistent database connection pooling, proxying and
load balancing system for Unix and Linux supporting ODBC, Oracle,
MySQL, mSQL, PostgreSQL, Sybase, MS SQL Server, IBM DB2, Interbase,
Lago and SQLite with APIs for C, C++, Perl, Perl-DBI, Python,
Python-DB, Zope, PHP, Ruby, Ruby-DBI, TCL and Java, command line
clients, a GUI configuration tool and extensive documentation.
The APIs support advanced database operations such as bind variables,
multi-row fetches, client side result set caching and suspended
transactions. It is ideal for speeding up database-driven web-based
applications, accessing databases from unsupported platforms,
migrating between databases, distributing access to replicated
databases and throttling database access.
2004-04-15 12:37:24 +02:00
|
|
|
man/man8/sqlr-stop.8
|
2014-07-18 20:16:30 +02:00
|
|
|
share/doc/sqlrelay/admin/configguide.html
|
|
|
|
share/doc/sqlrelay/admin/configreference.html
|
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 14:12:38 +01:00
|
|
|
share/doc/sqlrelay/admin/createtlscert.html
|
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 14:50:47 +02:00
|
|
|
share/doc/sqlrelay/admin/installing.html
|
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 14:12:38 +01:00
|
|
|
share/doc/sqlrelay/admin/installingpkg.html
|
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 14:50:47 +02:00
|
|
|
share/doc/sqlrelay/admin/oraclentier.html
|
2016-07-01 19:02:38 +02:00
|
|
|
share/doc/sqlrelay/admin/prerequisites.html
|
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 14:50:47 +02:00
|
|
|
share/doc/sqlrelay/admin/running.html
|
Update databases/sqlrelay to 1.0.0.
sqlrelay 1.0.0
- updated md5 pwdenc to use rudiments md5 class
- solved a long-standing hang that could occur if the database password
expired while sqlrelay was running, and the sqlr-scaler attempted to
start new connections
- added convertcase, convertcasedoublequotes, and removedoublequotes
parameters to normalize translation module
- added ColumnCaseName parameter to ODBC driver
- fixed a subtle bug in the ODBC driver that caused the first row to be
skipped if columns were not bound
- added -backtrace option for debugging
- fixed mysql connection module so it can use the statement API on
Windows
- fixed semaphore reference-before-init bug in sqlrservercontroller
- added support for db, debug, columnnamecase, dontgetcolumninfo,
nullsasnulls, and lazyconnect connect-string options to all drivers
(though in some they are camel-case and others lower-case)
- in DB-abstraction-layer drivers, the debug, dontgetcolumninfo,
nullsasnulls, lazyconnect, krb, and tls connect-string options now
support any yes/no equivalent such as yes, Yes, y, Y, true, True, 1,
(and similar for no)
- fixed a regression that could cause crashes in the C#/ADO driver when
binding null or date values
- added all parameters to ODBC config screen
- removed calls to mysql_stmt_store_result/mysql_stmt_num_rows from
mysql connection to improve performance. mysql connection doesn't know
the total number of rows prior to full fetch now (which is consistent
with most other databases).
- updated postgresql connection to use an unnamed cursor instead of
naming it and having to deallocate it over an over
- tweaked skipWhitespaceAndComments and related methods to use
charstring::isNullOrEmpty and character::isWhitespace
- replaced regular expression comparisons in sap/freetds connections
with simpler charstring comparisons
- updated db2 connection to reuse the statement instead of recreating it
with each prepare
- made column-lookup by name case sensitive to improve performance
- fixed nagle-disable and sizing of socket read/write buffers
- changed default maxcursors to 5
- fixed an uninitialized variable in the firebird connection
- python api's are installed in dist-packages subdirectory on systems
that have that instead of site-packages
- added route-entire-session option to router modules
sqlrelay 0.67.0
- general documenation clean-up
- added missing all: target to man/Makefile
- mysql_info in drop-in library for mysql returns NULL instead of "" now
- mysql_errno in the drop-in library now returns the error number from
the DB, instead of CR_UNKNOWN_ERROR, if no error map is provided, and
the backend database is known to be mysql
- mysql_refresh in the drop-in library works with options other than
REFRESH_GRANT now
- mysql_shutdown/kill in the drop-in library return 1 on failure now
rather than 2000
- date/time and timestamp types are recognized as binary types now
- year/timestamp types are recognized as unsigned types now
- TINY/MEDIUM/LONG_TEXT types are recognized as blobs now
- mapping date/time to MYSQL_TYPE_DATE/TIME, rather than
MYSQL_TYPE_DATETIME is the default in the drop-in library now and
SQLR_MAP_DATETIME_TO_DATE has been removed
- mysql drop-in library sets column flags correctly now
- mysql drop-in library runs appropriate kill/shutdown queries now
- mysql connection uses non-stmt api for "show *" queries now
- mysql drop-in library runs "show processlist" for mysql_list_processes
- mysql drop-in library supports date/time/datetime input binds now
instead of just treating them all as datetimes
- connection modules differentiate between date/time/datetime binds now
instead of just treating them all as datetimes
- added result set row translation module framework
- updated firebird connection module to the fieldstruct.textbuffer
instead of fieldbuffer for non-text to text translations
- added support for negative times in mysql connection module and
drop-in library
- added translation-failure event
- general refactoring of server module API
- consolidated sqlr-scaler code
- fixed a 1-byte empty-blob memory leak in the client
- /etc/alternatives/java_sdk is preferred, if found, now
2017-01-16 14:13:13 +01:00
|
|
|
share/doc/sqlrelay/admin/sqlr-connection-oracletest-querylog.2899.html
|
|
|
|
share/doc/sqlrelay/admin/sqlr-connection.1871.html
|
|
|
|
share/doc/sqlrelay/admin/sqlr-listener.1869.html
|
|
|
|
share/doc/sqlrelay/admin/sqlr-listener.1886.html
|
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 14:12:38 +01:00
|
|
|
share/doc/sqlrelay/admin/tlsca.html
|
|
|
|
share/doc/sqlrelay/admin/tlscert.html
|
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 14:50:47 +02:00
|
|
|
share/doc/sqlrelay/admin/tuning.html
|
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 15:26:45 +02:00
|
|
|
share/doc/sqlrelay/api/ado.net/html/annotated.html
|
2016-07-01 19:02:38 +02:00
|
|
|
share/doc/sqlrelay/api/ado.net/html/arrowdown.png
|
|
|
|
share/doc/sqlrelay/api/ado.net/html/arrowright.png
|
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 15:26:45 +02:00
|
|
|
share/doc/sqlrelay/api/ado.net/html/bc_s.png
|
|
|
|
share/doc/sqlrelay/api/ado.net/html/bdwn.png
|
|
|
|
share/doc/sqlrelay/api/ado.net/html/class_s_q_l_r_client_1_1_s_q_l_relay_command-members.html
|
|
|
|
share/doc/sqlrelay/api/ado.net/html/class_s_q_l_r_client_1_1_s_q_l_relay_command.html
|
|
|
|
share/doc/sqlrelay/api/ado.net/html/class_s_q_l_r_client_1_1_s_q_l_relay_connection-members.html
|
|
|
|
share/doc/sqlrelay/api/ado.net/html/class_s_q_l_r_client_1_1_s_q_l_relay_connection.html
|
|
|
|
share/doc/sqlrelay/api/ado.net/html/class_s_q_l_r_client_1_1_s_q_l_relay_data_adapter-members.html
|
|
|
|
share/doc/sqlrelay/api/ado.net/html/class_s_q_l_r_client_1_1_s_q_l_relay_data_adapter.html
|
|
|
|
share/doc/sqlrelay/api/ado.net/html/class_s_q_l_r_client_1_1_s_q_l_relay_data_reader-members.html
|
|
|
|
share/doc/sqlrelay/api/ado.net/html/class_s_q_l_r_client_1_1_s_q_l_relay_data_reader.html
|
|
|
|
share/doc/sqlrelay/api/ado.net/html/class_s_q_l_r_client_1_1_s_q_l_relay_exception-members.html
|
|
|
|
share/doc/sqlrelay/api/ado.net/html/class_s_q_l_r_client_1_1_s_q_l_relay_exception.html
|
|
|
|
share/doc/sqlrelay/api/ado.net/html/class_s_q_l_r_client_1_1_s_q_l_relay_parameter-members.html
|
|
|
|
share/doc/sqlrelay/api/ado.net/html/class_s_q_l_r_client_1_1_s_q_l_relay_parameter.html
|
|
|
|
share/doc/sqlrelay/api/ado.net/html/class_s_q_l_r_client_1_1_s_q_l_relay_parameter_collection-members.html
|
|
|
|
share/doc/sqlrelay/api/ado.net/html/class_s_q_l_r_client_1_1_s_q_l_relay_parameter_collection.html
|
|
|
|
share/doc/sqlrelay/api/ado.net/html/class_s_q_l_r_client_1_1_s_q_l_relay_row_updated_event_args-members.html
|
|
|
|
share/doc/sqlrelay/api/ado.net/html/class_s_q_l_r_client_1_1_s_q_l_relay_row_updated_event_args.html
|
|
|
|
share/doc/sqlrelay/api/ado.net/html/class_s_q_l_r_client_1_1_s_q_l_relay_row_updating_event_args-members.html
|
|
|
|
share/doc/sqlrelay/api/ado.net/html/class_s_q_l_r_client_1_1_s_q_l_relay_row_updating_event_args.html
|
|
|
|
share/doc/sqlrelay/api/ado.net/html/class_s_q_l_r_client_1_1_s_q_l_relay_transaction-members.html
|
|
|
|
share/doc/sqlrelay/api/ado.net/html/class_s_q_l_r_client_1_1_s_q_l_relay_transaction.html
|
|
|
|
share/doc/sqlrelay/api/ado.net/html/classes.html
|
|
|
|
share/doc/sqlrelay/api/ado.net/html/closed.png
|
|
|
|
share/doc/sqlrelay/api/ado.net/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html
|
|
|
|
share/doc/sqlrelay/api/ado.net/html/dir_c80a175e0fe38d5268efa0e9cdea41f9.html
|
|
|
|
share/doc/sqlrelay/api/ado.net/html/dir_da61e3e9a357748887e3ca8d7c5a0c16.html
|
|
|
|
share/doc/sqlrelay/api/ado.net/html/dir_dc5893416c2ccfb32b121666cb6e0b59.html
|
2016-07-01 19:02:38 +02:00
|
|
|
share/doc/sqlrelay/api/ado.net/html/doc.png
|
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 15:26:45 +02:00
|
|
|
share/doc/sqlrelay/api/ado.net/html/doxygen.css
|
|
|
|
share/doc/sqlrelay/api/ado.net/html/doxygen.png
|
|
|
|
share/doc/sqlrelay/api/ado.net/html/dynsections.js
|
2016-07-01 19:02:38 +02:00
|
|
|
share/doc/sqlrelay/api/ado.net/html/folderclosed.png
|
|
|
|
share/doc/sqlrelay/api/ado.net/html/folderopen.png
|
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 15:26:45 +02:00
|
|
|
share/doc/sqlrelay/api/ado.net/html/ftv2blank.png
|
|
|
|
share/doc/sqlrelay/api/ado.net/html/ftv2cl.png
|
|
|
|
share/doc/sqlrelay/api/ado.net/html/ftv2doc.png
|
|
|
|
share/doc/sqlrelay/api/ado.net/html/ftv2folderclosed.png
|
|
|
|
share/doc/sqlrelay/api/ado.net/html/ftv2folderopen.png
|
|
|
|
share/doc/sqlrelay/api/ado.net/html/ftv2lastnode.png
|
|
|
|
share/doc/sqlrelay/api/ado.net/html/ftv2link.png
|
|
|
|
share/doc/sqlrelay/api/ado.net/html/ftv2mlastnode.png
|
|
|
|
share/doc/sqlrelay/api/ado.net/html/ftv2mnode.png
|
|
|
|
share/doc/sqlrelay/api/ado.net/html/ftv2mo.png
|
|
|
|
share/doc/sqlrelay/api/ado.net/html/ftv2node.png
|
|
|
|
share/doc/sqlrelay/api/ado.net/html/ftv2ns.png
|
|
|
|
share/doc/sqlrelay/api/ado.net/html/ftv2plastnode.png
|
|
|
|
share/doc/sqlrelay/api/ado.net/html/ftv2pnode.png
|
|
|
|
share/doc/sqlrelay/api/ado.net/html/ftv2splitbar.png
|
|
|
|
share/doc/sqlrelay/api/ado.net/html/ftv2vertline.png
|
|
|
|
share/doc/sqlrelay/api/ado.net/html/functions.html
|
|
|
|
share/doc/sqlrelay/api/ado.net/html/functions_func.html
|
|
|
|
share/doc/sqlrelay/api/ado.net/html/functions_prop.html
|
|
|
|
share/doc/sqlrelay/api/ado.net/html/hierarchy.html
|
|
|
|
share/doc/sqlrelay/api/ado.net/html/index.html
|
|
|
|
share/doc/sqlrelay/api/ado.net/html/jquery.js
|
|
|
|
share/doc/sqlrelay/api/ado.net/html/namespace_s_q_l_r_client.html
|
|
|
|
share/doc/sqlrelay/api/ado.net/html/nav_f.png
|
|
|
|
share/doc/sqlrelay/api/ado.net/html/nav_g.png
|
|
|
|
share/doc/sqlrelay/api/ado.net/html/nav_h.png
|
|
|
|
share/doc/sqlrelay/api/ado.net/html/open.png
|
2016-07-01 19:02:38 +02:00
|
|
|
share/doc/sqlrelay/api/ado.net/html/splitbar.png
|
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 15:26:45 +02:00
|
|
|
share/doc/sqlrelay/api/ado.net/html/sync_off.png
|
|
|
|
share/doc/sqlrelay/api/ado.net/html/sync_on.png
|
|
|
|
share/doc/sqlrelay/api/ado.net/html/tab_a.png
|
|
|
|
share/doc/sqlrelay/api/ado.net/html/tab_b.png
|
|
|
|
share/doc/sqlrelay/api/ado.net/html/tab_h.png
|
|
|
|
share/doc/sqlrelay/api/ado.net/html/tab_s.png
|
|
|
|
share/doc/sqlrelay/api/ado.net/html/tabs.css
|
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 14:50:47 +02:00
|
|
|
share/doc/sqlrelay/api/c++/html/annotated.html
|
2016-07-01 19:02:38 +02:00
|
|
|
share/doc/sqlrelay/api/c++/html/arrowdown.png
|
|
|
|
share/doc/sqlrelay/api/c++/html/arrowright.png
|
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 14:50:47 +02:00
|
|
|
share/doc/sqlrelay/api/c++/html/bc_s.png
|
|
|
|
share/doc/sqlrelay/api/c++/html/bdwn.png
|
|
|
|
share/doc/sqlrelay/api/c++/html/classes.html
|
|
|
|
share/doc/sqlrelay/api/c++/html/classsqlrconnection-members.html
|
|
|
|
share/doc/sqlrelay/api/c++/html/classsqlrconnection.html
|
|
|
|
share/doc/sqlrelay/api/c++/html/classsqlrcursor-members.html
|
|
|
|
share/doc/sqlrelay/api/c++/html/classsqlrcursor.html
|
|
|
|
share/doc/sqlrelay/api/c++/html/closed.png
|
|
|
|
share/doc/sqlrelay/api/c++/html/dir_02092e011f41b1efe6b3468ebe92cde9.html
|
|
|
|
share/doc/sqlrelay/api/c++/html/dir_0912e6c65b091fa41da70873249342a4.html
|
|
|
|
share/doc/sqlrelay/api/c++/html/dir_440cbb352fefbdb83d89768c287ae784.html
|
|
|
|
share/doc/sqlrelay/api/c++/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html
|
|
|
|
share/doc/sqlrelay/api/c++/html/dir_da61e3e9a357748887e3ca8d7c5a0c16.html
|
2016-07-01 19:02:38 +02:00
|
|
|
share/doc/sqlrelay/api/c++/html/dir_df9c11e719b8a1decaf23932e3bc215f.html
|
|
|
|
share/doc/sqlrelay/api/c++/html/doc.png
|
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 14:50:47 +02:00
|
|
|
share/doc/sqlrelay/api/c++/html/doxygen.css
|
|
|
|
share/doc/sqlrelay/api/c++/html/doxygen.png
|
|
|
|
share/doc/sqlrelay/api/c++/html/dynsections.js
|
|
|
|
share/doc/sqlrelay/api/c++/html/files.html
|
2016-07-01 19:02:38 +02:00
|
|
|
share/doc/sqlrelay/api/c++/html/folderclosed.png
|
|
|
|
share/doc/sqlrelay/api/c++/html/folderopen.png
|
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 14:50:47 +02:00
|
|
|
share/doc/sqlrelay/api/c++/html/ftv2blank.png
|
|
|
|
share/doc/sqlrelay/api/c++/html/ftv2cl.png
|
|
|
|
share/doc/sqlrelay/api/c++/html/ftv2doc.png
|
|
|
|
share/doc/sqlrelay/api/c++/html/ftv2folderclosed.png
|
|
|
|
share/doc/sqlrelay/api/c++/html/ftv2folderopen.png
|
|
|
|
share/doc/sqlrelay/api/c++/html/ftv2lastnode.png
|
|
|
|
share/doc/sqlrelay/api/c++/html/ftv2link.png
|
|
|
|
share/doc/sqlrelay/api/c++/html/ftv2mlastnode.png
|
|
|
|
share/doc/sqlrelay/api/c++/html/ftv2mnode.png
|
|
|
|
share/doc/sqlrelay/api/c++/html/ftv2mo.png
|
|
|
|
share/doc/sqlrelay/api/c++/html/ftv2node.png
|
|
|
|
share/doc/sqlrelay/api/c++/html/ftv2ns.png
|
|
|
|
share/doc/sqlrelay/api/c++/html/ftv2plastnode.png
|
|
|
|
share/doc/sqlrelay/api/c++/html/ftv2pnode.png
|
|
|
|
share/doc/sqlrelay/api/c++/html/ftv2splitbar.png
|
|
|
|
share/doc/sqlrelay/api/c++/html/ftv2vertline.png
|
|
|
|
share/doc/sqlrelay/api/c++/html/functions.html
|
|
|
|
share/doc/sqlrelay/api/c++/html/functions_func.html
|
|
|
|
share/doc/sqlrelay/api/c++/html/index.html
|
|
|
|
share/doc/sqlrelay/api/c++/html/jquery.js
|
|
|
|
share/doc/sqlrelay/api/c++/html/nav_f.png
|
|
|
|
share/doc/sqlrelay/api/c++/html/nav_g.png
|
|
|
|
share/doc/sqlrelay/api/c++/html/nav_h.png
|
|
|
|
share/doc/sqlrelay/api/c++/html/open.png
|
2016-07-01 19:02:38 +02:00
|
|
|
share/doc/sqlrelay/api/c++/html/splitbar.png
|
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 14:50:47 +02:00
|
|
|
share/doc/sqlrelay/api/c++/html/sqlrclient_8h_source.html
|
|
|
|
share/doc/sqlrelay/api/c++/html/sync_off.png
|
|
|
|
share/doc/sqlrelay/api/c++/html/sync_on.png
|
|
|
|
share/doc/sqlrelay/api/c++/html/tab_a.png
|
|
|
|
share/doc/sqlrelay/api/c++/html/tab_b.png
|
|
|
|
share/doc/sqlrelay/api/c++/html/tab_h.png
|
|
|
|
share/doc/sqlrelay/api/c++/html/tab_s.png
|
|
|
|
share/doc/sqlrelay/api/c++/html/tabs.css
|
2016-07-01 19:02:38 +02:00
|
|
|
share/doc/sqlrelay/api/c/html/arrowdown.png
|
|
|
|
share/doc/sqlrelay/api/c/html/arrowright.png
|
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 14:50:47 +02:00
|
|
|
share/doc/sqlrelay/api/c/html/bc_s.png
|
|
|
|
share/doc/sqlrelay/api/c/html/bdwn.png
|
|
|
|
share/doc/sqlrelay/api/c/html/closed.png
|
|
|
|
share/doc/sqlrelay/api/c/html/dir_364b2640bd7349a10e593fb505dc3717.html
|
|
|
|
share/doc/sqlrelay/api/c/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html
|
2016-07-01 19:02:38 +02:00
|
|
|
share/doc/sqlrelay/api/c/html/dir_759bf2703135d3cee912a827a7fe4121.html
|
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 14:50:47 +02:00
|
|
|
share/doc/sqlrelay/api/c/html/dir_7bb915b94a9886845d4043db4913a3c0.html
|
|
|
|
share/doc/sqlrelay/api/c/html/dir_b9c8ab2e387146131f9b9e79af70de42.html
|
|
|
|
share/doc/sqlrelay/api/c/html/dir_da61e3e9a357748887e3ca8d7c5a0c16.html
|
|
|
|
share/doc/sqlrelay/api/c/html/dir_e8d73255ec7feed8fb64227e7a4ab864.html
|
2016-07-01 19:02:38 +02:00
|
|
|
share/doc/sqlrelay/api/c/html/dir_faf22fd1ab495b8361a309ea8c224c7c.html
|
|
|
|
share/doc/sqlrelay/api/c/html/doc.png
|
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 14:50:47 +02:00
|
|
|
share/doc/sqlrelay/api/c/html/doxygen.css
|
|
|
|
share/doc/sqlrelay/api/c/html/doxygen.png
|
|
|
|
share/doc/sqlrelay/api/c/html/dynsections.js
|
|
|
|
share/doc/sqlrelay/api/c/html/files.html
|
2016-07-01 19:02:38 +02:00
|
|
|
share/doc/sqlrelay/api/c/html/folderclosed.png
|
|
|
|
share/doc/sqlrelay/api/c/html/folderopen.png
|
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 14:50:47 +02:00
|
|
|
share/doc/sqlrelay/api/c/html/ftv2blank.png
|
|
|
|
share/doc/sqlrelay/api/c/html/ftv2cl.png
|
|
|
|
share/doc/sqlrelay/api/c/html/ftv2doc.png
|
|
|
|
share/doc/sqlrelay/api/c/html/ftv2folderclosed.png
|
|
|
|
share/doc/sqlrelay/api/c/html/ftv2folderopen.png
|
|
|
|
share/doc/sqlrelay/api/c/html/ftv2lastnode.png
|
|
|
|
share/doc/sqlrelay/api/c/html/ftv2link.png
|
|
|
|
share/doc/sqlrelay/api/c/html/ftv2mlastnode.png
|
|
|
|
share/doc/sqlrelay/api/c/html/ftv2mnode.png
|
|
|
|
share/doc/sqlrelay/api/c/html/ftv2mo.png
|
|
|
|
share/doc/sqlrelay/api/c/html/ftv2node.png
|
|
|
|
share/doc/sqlrelay/api/c/html/ftv2ns.png
|
|
|
|
share/doc/sqlrelay/api/c/html/ftv2plastnode.png
|
|
|
|
share/doc/sqlrelay/api/c/html/ftv2pnode.png
|
|
|
|
share/doc/sqlrelay/api/c/html/ftv2splitbar.png
|
|
|
|
share/doc/sqlrelay/api/c/html/ftv2vertline.png
|
|
|
|
share/doc/sqlrelay/api/c/html/group__sqlrclientwrapper.html
|
|
|
|
share/doc/sqlrelay/api/c/html/index.html
|
|
|
|
share/doc/sqlrelay/api/c/html/jquery.js
|
|
|
|
share/doc/sqlrelay/api/c/html/modules.html
|
|
|
|
share/doc/sqlrelay/api/c/html/nav_f.png
|
|
|
|
share/doc/sqlrelay/api/c/html/nav_g.png
|
|
|
|
share/doc/sqlrelay/api/c/html/nav_h.png
|
|
|
|
share/doc/sqlrelay/api/c/html/open.png
|
|
|
|
share/doc/sqlrelay/api/c/html/private_2sqlrclientwrapper_8h_source.html
|
2016-07-01 19:02:38 +02:00
|
|
|
share/doc/sqlrelay/api/c/html/splitbar.png
|
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 14:50:47 +02:00
|
|
|
share/doc/sqlrelay/api/c/html/sqlrclientwrapper_8h_source.html
|
2016-07-01 19:02:38 +02:00
|
|
|
share/doc/sqlrelay/api/c/html/sqlrclientwrapperincludes_8h_source.html
|
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 14:50:47 +02:00
|
|
|
share/doc/sqlrelay/api/c/html/sync_off.png
|
|
|
|
share/doc/sqlrelay/api/c/html/sync_on.png
|
|
|
|
share/doc/sqlrelay/api/c/html/tab_a.png
|
|
|
|
share/doc/sqlrelay/api/c/html/tab_b.png
|
|
|
|
share/doc/sqlrelay/api/c/html/tab_h.png
|
|
|
|
share/doc/sqlrelay/api/c/html/tab_s.png
|
|
|
|
share/doc/sqlrelay/api/c/html/tabs.css
|
|
|
|
share/doc/sqlrelay/api/c/html/wrapperdll_8h_source.html
|
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 15:26:45 +02:00
|
|
|
share/doc/sqlrelay/api/cs/html/annotated.html
|
2016-07-01 19:02:38 +02:00
|
|
|
share/doc/sqlrelay/api/cs/html/arrowdown.png
|
|
|
|
share/doc/sqlrelay/api/cs/html/arrowright.png
|
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 15:26:45 +02:00
|
|
|
share/doc/sqlrelay/api/cs/html/bc_s.png
|
|
|
|
share/doc/sqlrelay/api/cs/html/bdwn.png
|
|
|
|
share/doc/sqlrelay/api/cs/html/class_s_q_l_r_client_1_1_s_q_l_r_connection-members.html
|
|
|
|
share/doc/sqlrelay/api/cs/html/class_s_q_l_r_client_1_1_s_q_l_r_connection.html
|
|
|
|
share/doc/sqlrelay/api/cs/html/class_s_q_l_r_client_1_1_s_q_l_r_cursor-members.html
|
|
|
|
share/doc/sqlrelay/api/cs/html/class_s_q_l_r_client_1_1_s_q_l_r_cursor.html
|
|
|
|
share/doc/sqlrelay/api/cs/html/classes.html
|
|
|
|
share/doc/sqlrelay/api/cs/html/closed.png
|
|
|
|
share/doc/sqlrelay/api/cs/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html
|
|
|
|
share/doc/sqlrelay/api/cs/html/dir_c80a175e0fe38d5268efa0e9cdea41f9.html
|
|
|
|
share/doc/sqlrelay/api/cs/html/dir_da61e3e9a357748887e3ca8d7c5a0c16.html
|
|
|
|
share/doc/sqlrelay/api/cs/html/dir_dc5893416c2ccfb32b121666cb6e0b59.html
|
2016-07-01 19:02:38 +02:00
|
|
|
share/doc/sqlrelay/api/cs/html/doc.png
|
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 15:26:45 +02:00
|
|
|
share/doc/sqlrelay/api/cs/html/doxygen.css
|
|
|
|
share/doc/sqlrelay/api/cs/html/doxygen.png
|
|
|
|
share/doc/sqlrelay/api/cs/html/dynsections.js
|
2016-07-01 19:02:38 +02:00
|
|
|
share/doc/sqlrelay/api/cs/html/folderclosed.png
|
|
|
|
share/doc/sqlrelay/api/cs/html/folderopen.png
|
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 15:26:45 +02:00
|
|
|
share/doc/sqlrelay/api/cs/html/ftv2blank.png
|
|
|
|
share/doc/sqlrelay/api/cs/html/ftv2cl.png
|
|
|
|
share/doc/sqlrelay/api/cs/html/ftv2doc.png
|
|
|
|
share/doc/sqlrelay/api/cs/html/ftv2folderclosed.png
|
|
|
|
share/doc/sqlrelay/api/cs/html/ftv2folderopen.png
|
|
|
|
share/doc/sqlrelay/api/cs/html/ftv2lastnode.png
|
|
|
|
share/doc/sqlrelay/api/cs/html/ftv2link.png
|
|
|
|
share/doc/sqlrelay/api/cs/html/ftv2mlastnode.png
|
|
|
|
share/doc/sqlrelay/api/cs/html/ftv2mnode.png
|
|
|
|
share/doc/sqlrelay/api/cs/html/ftv2mo.png
|
|
|
|
share/doc/sqlrelay/api/cs/html/ftv2node.png
|
|
|
|
share/doc/sqlrelay/api/cs/html/ftv2ns.png
|
|
|
|
share/doc/sqlrelay/api/cs/html/ftv2plastnode.png
|
|
|
|
share/doc/sqlrelay/api/cs/html/ftv2pnode.png
|
|
|
|
share/doc/sqlrelay/api/cs/html/ftv2splitbar.png
|
|
|
|
share/doc/sqlrelay/api/cs/html/ftv2vertline.png
|
|
|
|
share/doc/sqlrelay/api/cs/html/functions.html
|
|
|
|
share/doc/sqlrelay/api/cs/html/functions_func.html
|
|
|
|
share/doc/sqlrelay/api/cs/html/hierarchy.html
|
|
|
|
share/doc/sqlrelay/api/cs/html/index.html
|
|
|
|
share/doc/sqlrelay/api/cs/html/jquery.js
|
|
|
|
share/doc/sqlrelay/api/cs/html/namespace_s_q_l_r_client.html
|
|
|
|
share/doc/sqlrelay/api/cs/html/nav_f.png
|
|
|
|
share/doc/sqlrelay/api/cs/html/nav_g.png
|
|
|
|
share/doc/sqlrelay/api/cs/html/nav_h.png
|
|
|
|
share/doc/sqlrelay/api/cs/html/open.png
|
2016-07-01 19:02:38 +02:00
|
|
|
share/doc/sqlrelay/api/cs/html/splitbar.png
|
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 15:26:45 +02:00
|
|
|
share/doc/sqlrelay/api/cs/html/sync_off.png
|
|
|
|
share/doc/sqlrelay/api/cs/html/sync_on.png
|
|
|
|
share/doc/sqlrelay/api/cs/html/tab_a.png
|
|
|
|
share/doc/sqlrelay/api/cs/html/tab_b.png
|
|
|
|
share/doc/sqlrelay/api/cs/html/tab_h.png
|
|
|
|
share/doc/sqlrelay/api/cs/html/tab_s.png
|
|
|
|
share/doc/sqlrelay/api/cs/html/tabs.css
|
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 14:12:38 +01:00
|
|
|
share/doc/sqlrelay/api/erlang/html/edoc-info
|
|
|
|
share/doc/sqlrelay/api/erlang/html/erlang.png
|
|
|
|
share/doc/sqlrelay/api/erlang/html/index.html
|
|
|
|
share/doc/sqlrelay/api/erlang/html/modules-frame.html
|
|
|
|
share/doc/sqlrelay/api/erlang/html/overview-summary.html
|
|
|
|
share/doc/sqlrelay/api/erlang/html/sqlrelay.html
|
|
|
|
share/doc/sqlrelay/api/erlang/html/stylesheet.css
|
2006-03-29 03:28:46 +02:00
|
|
|
share/doc/sqlrelay/api/java/allclasses-frame.html
|
|
|
|
share/doc/sqlrelay/api/java/allclasses-noframe.html
|
|
|
|
share/doc/sqlrelay/api/java/com/firstworks/sqlrelay/SQLRConnection.html
|
|
|
|
share/doc/sqlrelay/api/java/com/firstworks/sqlrelay/SQLRCursor.html
|
|
|
|
share/doc/sqlrelay/api/java/com/firstworks/sqlrelay/package-frame.html
|
|
|
|
share/doc/sqlrelay/api/java/com/firstworks/sqlrelay/package-summary.html
|
|
|
|
share/doc/sqlrelay/api/java/com/firstworks/sqlrelay/package-tree.html
|
|
|
|
share/doc/sqlrelay/api/java/constant-values.html
|
|
|
|
share/doc/sqlrelay/api/java/deprecated-list.html
|
|
|
|
share/doc/sqlrelay/api/java/help-doc.html
|
|
|
|
share/doc/sqlrelay/api/java/index-all.html
|
|
|
|
share/doc/sqlrelay/api/java/index.html
|
|
|
|
share/doc/sqlrelay/api/java/overview-tree.html
|
|
|
|
share/doc/sqlrelay/api/java/package-list
|
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 15:26:45 +02:00
|
|
|
share/doc/sqlrelay/api/java/resources/background.gif
|
2006-03-29 03:28:46 +02:00
|
|
|
share/doc/sqlrelay/api/java/resources/inherit.gif
|
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 15:26:45 +02:00
|
|
|
share/doc/sqlrelay/api/java/resources/tab.gif
|
|
|
|
share/doc/sqlrelay/api/java/resources/titlebar.gif
|
|
|
|
share/doc/sqlrelay/api/java/resources/titlebar_end.gif
|
2006-03-29 03:28:46 +02:00
|
|
|
share/doc/sqlrelay/api/java/stylesheet.css
|
Update databases/sqlrelay to 0.63.
sqlrelay 0.63
- suppressed ruby configure warning
- fixed glib detection if pkg-config isn't present
- fixed mono detection on freebsd
- fixed node.js yes/no misreport bug in configure script
- added freetds tcl test
- fixed slashes in tcl tests for windows
- updated docs to mention firebird buffer size parameters
- updated MAX_ITEM_BUFFER_SIZE to 32768 for firebird
- fixed ruby detection on fedora 22
- fixed missing export for setAuth/ResponseTimeout in ruby api
- added manual include of inttypes.h in php api to work around issue
with define/undef games, revealed on openbsd 5.7
- tweaked ruby cflags script for debian 8
- refactored mysql detection
- tweaked unixodbc detection to also look in /usr/include/odbc
- renamed "oracle8" connection plugin to "oracle"
- renamed "sybase" connection plugin to "sap"
- updated identity tests in api's/cmdline clients to use
charstring::contains() rather than !charstring::compare()
- implemented missing destructors for ADO.NET Data Provider
sqlrelay 0.62
- added query filter plugin framework
- added regex, string and pattern filters
- added normalization translation
- added reformatdatetime result set translation
- fixed error in sqlrconfigfile class that could cause sqlr-start to crash
if one instance defines addresses but the next doesn't
- added query status flag to sqlrservercursor
- tweaked odbc driver's SQLGetTypeInfo()
- field name is passed into runResultSetTranslations() now
- added support for maxitembuffersize, maxselectlistsize, and maxbindcount
for firebird
- added native api for node.js
- added recognition of bigint, ubigint and uniqueidentifier fields
in freetds/sybase
- added nullsasnulls command to sqlrsh
- added workaround for freetds empty (but non-null) text fields not getting
properly converted to null-terminated empty strings
- fetchatonce, maxitembuffersize and maxselectlistsize are set to defaulting
values if invalid values are given for them
- added lazyconnect option to PHP PDO and Perl DBI drivers (defaults to 1)
- direct Transact SQL which returns a result set is now supported
with Sybase/SAP/MSSQLServer/FreeTDS
- added docs for authentication, query translation, query filter and
result set translation modules
- added -fPIC to sqlrserver-config --cflags, if supported
- the "default" auth module is now called "userlist"
- added database auth module that is analagous to authtier="database"
- replaced passwordencryption attribute with passwordencryptionid
- added --disable-postgresql8-api configure option
- tweaked -Werror detection in configure script
- refactored sqlr-bench build to work on windows
- documentation, examples and tests are now covered by a license
- reflecting modern interpretation of the GPL, The license for
The SQLRelay Server (as designated in COPYING) license now carries
an exception, explicitly allowing it to be linked with various non-GPL
compatible libraries
- license is installed now
sqlrelay 0.61 skipped
sqlrelay 0.60
- 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
2015-09-02 14:39:33 +02:00
|
|
|
share/doc/sqlrelay/api/nodejs/html/annotated.html
|
|
|
|
share/doc/sqlrelay/api/nodejs/html/arrowdown.png
|
|
|
|
share/doc/sqlrelay/api/nodejs/html/arrowright.png
|
|
|
|
share/doc/sqlrelay/api/nodejs/html/bc_s.png
|
|
|
|
share/doc/sqlrelay/api/nodejs/html/bdwn.png
|
|
|
|
share/doc/sqlrelay/api/nodejs/html/class_s_q_l_r_connection-members.html
|
|
|
|
share/doc/sqlrelay/api/nodejs/html/class_s_q_l_r_connection.html
|
|
|
|
share/doc/sqlrelay/api/nodejs/html/class_s_q_l_r_cursor-members.html
|
|
|
|
share/doc/sqlrelay/api/nodejs/html/class_s_q_l_r_cursor.html
|
|
|
|
share/doc/sqlrelay/api/nodejs/html/classes.html
|
|
|
|
share/doc/sqlrelay/api/nodejs/html/closed.png
|
|
|
|
share/doc/sqlrelay/api/nodejs/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html
|
|
|
|
share/doc/sqlrelay/api/nodejs/html/dir_da61e3e9a357748887e3ca8d7c5a0c16.html
|
|
|
|
share/doc/sqlrelay/api/nodejs/html/dir_e0347da986b64b83ab9fe56dd33df350.html
|
|
|
|
share/doc/sqlrelay/api/nodejs/html/doc.png
|
|
|
|
share/doc/sqlrelay/api/nodejs/html/doxygen.css
|
|
|
|
share/doc/sqlrelay/api/nodejs/html/doxygen.png
|
|
|
|
share/doc/sqlrelay/api/nodejs/html/dynsections.js
|
|
|
|
share/doc/sqlrelay/api/nodejs/html/folderclosed.png
|
|
|
|
share/doc/sqlrelay/api/nodejs/html/folderopen.png
|
|
|
|
share/doc/sqlrelay/api/nodejs/html/functions.html
|
|
|
|
share/doc/sqlrelay/api/nodejs/html/functions_func.html
|
|
|
|
share/doc/sqlrelay/api/nodejs/html/index.html
|
|
|
|
share/doc/sqlrelay/api/nodejs/html/jquery.js
|
|
|
|
share/doc/sqlrelay/api/nodejs/html/nav_f.png
|
|
|
|
share/doc/sqlrelay/api/nodejs/html/nav_g.png
|
|
|
|
share/doc/sqlrelay/api/nodejs/html/nav_h.png
|
|
|
|
share/doc/sqlrelay/api/nodejs/html/open.png
|
|
|
|
share/doc/sqlrelay/api/nodejs/html/splitbar.png
|
|
|
|
share/doc/sqlrelay/api/nodejs/html/sqlrelay_8doc_8h_source.html
|
|
|
|
share/doc/sqlrelay/api/nodejs/html/sync_off.png
|
|
|
|
share/doc/sqlrelay/api/nodejs/html/sync_on.png
|
|
|
|
share/doc/sqlrelay/api/nodejs/html/tab_a.png
|
|
|
|
share/doc/sqlrelay/api/nodejs/html/tab_b.png
|
|
|
|
share/doc/sqlrelay/api/nodejs/html/tab_h.png
|
|
|
|
share/doc/sqlrelay/api/nodejs/html/tab_s.png
|
|
|
|
share/doc/sqlrelay/api/nodejs/html/tabs.css
|
2006-03-29 03:28:46 +02:00
|
|
|
share/doc/sqlrelay/api/perl/Connection.html
|
|
|
|
share/doc/sqlrelay/api/perl/Cursor.html
|
|
|
|
share/doc/sqlrelay/api/perl/SQLRelay.html
|
|
|
|
share/doc/sqlrelay/api/perl/perl.html
|
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 14:50:47 +02:00
|
|
|
share/doc/sqlrelay/api/php/blank.html
|
|
|
|
share/doc/sqlrelay/api/php/classtrees_default.html
|
|
|
|
share/doc/sqlrelay/api/php/classtrees_sql_relay.html
|
|
|
|
share/doc/sqlrelay/api/php/elementindex.html
|
|
|
|
share/doc/sqlrelay/api/php/elementindex_default.html
|
|
|
|
share/doc/sqlrelay/api/php/elementindex_sql_relay.html
|
|
|
|
share/doc/sqlrelay/api/php/errors.html
|
|
|
|
share/doc/sqlrelay/api/php/index.html
|
|
|
|
share/doc/sqlrelay/api/php/li_default.html
|
|
|
|
share/doc/sqlrelay/api/php/li_sql_relay.html
|
|
|
|
share/doc/sqlrelay/api/php/media/banner.css
|
|
|
|
share/doc/sqlrelay/api/php/media/stylesheet.css
|
|
|
|
share/doc/sqlrelay/api/php/packages.html
|
|
|
|
share/doc/sqlrelay/api/php/sql_relay/_sql_relay.doc.php.html
|
2006-03-29 03:28:46 +02:00
|
|
|
share/doc/sqlrelay/api/python/PySQLRClient.py.html
|
|
|
|
share/doc/sqlrelay/api/python/PySQLRDB.py.html
|
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 14:50:47 +02:00
|
|
|
share/doc/sqlrelay/api/ruby/doc/SQLRConnection.html
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/SQLRCursor.html
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/classes/SQLRConnection.html
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/classes/SQLRConnection.src/M000084.html
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/classes/SQLRConnection.src/M000085.html
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/classes/SQLRConnection.src/M000086.html
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/classes/SQLRConnection.src/M000087.html
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/classes/SQLRConnection.src/M000088.html
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/classes/SQLRConnection.src/M000089.html
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/classes/SQLRConnection.src/M000090.html
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/classes/SQLRConnection.src/M000091.html
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/classes/SQLRConnection.src/M000092.html
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/classes/SQLRConnection.src/M000093.html
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/classes/SQLRConnection.src/M000094.html
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/classes/SQLRConnection.src/M000095.html
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/classes/SQLRConnection.src/M000096.html
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/classes/SQLRConnection.src/M000097.html
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/classes/SQLRConnection.src/M000098.html
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/classes/SQLRConnection.src/M000099.html
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/classes/SQLRConnection.src/M000100.html
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/classes/SQLRConnection.src/M000101.html
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/classes/SQLRConnection.src/M000102.html
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/classes/SQLRConnection.src/M000103.html
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/classes/SQLRConnection.src/M000104.html
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/classes/SQLRConnection.src/M000105.html
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/classes/SQLRConnection.src/M000106.html
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/classes/SQLRConnection.src/M000107.html
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/classes/SQLRConnection.src/M000108.html
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/classes/SQLRConnection.src/M000109.html
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/classes/SQLRConnection.src/M000110.html
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/classes/SQLRConnection.src/M000111.html
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/classes/SQLRConnection.src/M000112.html
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/classes/SQLRConnection.src/M000113.html
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/classes/SQLRConnection.src/M000114.html
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/classes/SQLRConnection.src/M000115.html
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/classes/SQLRCursor.html
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/classes/SQLRCursor.src/M000001.html
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/classes/SQLRCursor.src/M000002.html
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/classes/SQLRCursor.src/M000003.html
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/classes/SQLRCursor.src/M000004.html
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/classes/SQLRCursor.src/M000005.html
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/classes/SQLRCursor.src/M000006.html
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/classes/SQLRCursor.src/M000007.html
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/classes/SQLRCursor.src/M000008.html
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/classes/SQLRCursor.src/M000009.html
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/classes/SQLRCursor.src/M000010.html
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/classes/SQLRCursor.src/M000011.html
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/classes/SQLRCursor.src/M000012.html
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/classes/SQLRCursor.src/M000013.html
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/classes/SQLRCursor.src/M000014.html
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/classes/SQLRCursor.src/M000015.html
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/classes/SQLRCursor.src/M000016.html
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/classes/SQLRCursor.src/M000017.html
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/classes/SQLRCursor.src/M000018.html
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/classes/SQLRCursor.src/M000019.html
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/classes/SQLRCursor.src/M000020.html
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/classes/SQLRCursor.src/M000021.html
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/classes/SQLRCursor.src/M000022.html
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/classes/SQLRCursor.src/M000023.html
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/classes/SQLRCursor.src/M000024.html
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/classes/SQLRCursor.src/M000025.html
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/classes/SQLRCursor.src/M000026.html
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/classes/SQLRCursor.src/M000027.html
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/classes/SQLRCursor.src/M000028.html
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/classes/SQLRCursor.src/M000029.html
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/classes/SQLRCursor.src/M000030.html
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/classes/SQLRCursor.src/M000031.html
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/classes/SQLRCursor.src/M000032.html
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/classes/SQLRCursor.src/M000033.html
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/classes/SQLRCursor.src/M000034.html
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/classes/SQLRCursor.src/M000035.html
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/classes/SQLRCursor.src/M000036.html
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/classes/SQLRCursor.src/M000037.html
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/classes/SQLRCursor.src/M000038.html
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/classes/SQLRCursor.src/M000039.html
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/classes/SQLRCursor.src/M000040.html
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/classes/SQLRCursor.src/M000041.html
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/classes/SQLRCursor.src/M000042.html
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/classes/SQLRCursor.src/M000043.html
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/classes/SQLRCursor.src/M000044.html
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/classes/SQLRCursor.src/M000045.html
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/classes/SQLRCursor.src/M000046.html
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/classes/SQLRCursor.src/M000047.html
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/classes/SQLRCursor.src/M000048.html
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/classes/SQLRCursor.src/M000049.html
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/classes/SQLRCursor.src/M000050.html
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/classes/SQLRCursor.src/M000051.html
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/classes/SQLRCursor.src/M000052.html
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/classes/SQLRCursor.src/M000053.html
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/classes/SQLRCursor.src/M000054.html
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/classes/SQLRCursor.src/M000055.html
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/classes/SQLRCursor.src/M000056.html
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/classes/SQLRCursor.src/M000057.html
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/classes/SQLRCursor.src/M000058.html
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/classes/SQLRCursor.src/M000059.html
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/classes/SQLRCursor.src/M000060.html
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/classes/SQLRCursor.src/M000061.html
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/classes/SQLRCursor.src/M000062.html
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/classes/SQLRCursor.src/M000063.html
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/classes/SQLRCursor.src/M000064.html
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/classes/SQLRCursor.src/M000065.html
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/classes/SQLRCursor.src/M000066.html
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/classes/SQLRCursor.src/M000067.html
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/classes/SQLRCursor.src/M000068.html
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/classes/SQLRCursor.src/M000069.html
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/classes/SQLRCursor.src/M000070.html
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/classes/SQLRCursor.src/M000071.html
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/classes/SQLRCursor.src/M000072.html
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/classes/SQLRCursor.src/M000073.html
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/classes/SQLRCursor.src/M000074.html
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/classes/SQLRCursor.src/M000075.html
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/classes/SQLRCursor.src/M000076.html
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/classes/SQLRCursor.src/M000077.html
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/classes/SQLRCursor.src/M000078.html
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/classes/SQLRCursor.src/M000079.html
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/classes/SQLRCursor.src/M000080.html
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/classes/SQLRCursor.src/M000081.html
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/classes/SQLRCursor.src/M000082.html
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/classes/SQLRCursor.src/M000083.html
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/classes/SQLRCursor.src/M000084.html
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/classes/SQLRCursor.src/M000085.html
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/files/sqlrelay_cpp.html
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/fr_class_index.html
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/fr_file_index.html
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/fr_method_index.html
|
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 15:26:45 +02:00
|
|
|
share/doc/sqlrelay/api/ruby/doc/images/add.png
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/images/arrow_up.png
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/images/brick.png
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/images/brick_link.png
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/images/bug.png
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/images/bullet_black.png
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/images/bullet_toggle_minus.png
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/images/bullet_toggle_plus.png
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/images/date.png
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/images/delete.png
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/images/find.png
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/images/macFFBgHack.png
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/images/package.png
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/images/page_green.png
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/images/page_white_text.png
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/images/page_white_width.png
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/images/plugin.png
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/images/ruby.png
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/images/tag_blue.png
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/images/tag_green.png
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/images/transparent.png
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/images/wrench.png
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/images/wrench_orange.png
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/images/zoom.png
|
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 14:50:47 +02:00
|
|
|
share/doc/sqlrelay/api/ruby/doc/index.html
|
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 15:26:45 +02:00
|
|
|
share/doc/sqlrelay/api/ruby/doc/js/darkfish.js
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/js/jquery.js
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/js/navigation.js
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/js/search.js
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/js/search_index.js
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/js/searcher.js
|
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 14:50:47 +02:00
|
|
|
share/doc/sqlrelay/api/ruby/doc/rdoc-style.css
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/rdoc.css
|
|
|
|
share/doc/sqlrelay/api/ruby/doc/table_of_contents.html
|
|
|
|
share/doc/sqlrelay/api/tcl/index.html
|
|
|
|
share/doc/sqlrelay/api/tcl/index_annot.html
|
|
|
|
share/doc/sqlrelay/api/tcl/index_annot_full.html
|
|
|
|
share/doc/sqlrelay/api/tcl/index_call.html
|
|
|
|
share/doc/sqlrelay/api/tcl/index_file.html
|
|
|
|
share/doc/sqlrelay/api/tcl/index_main.html
|
|
|
|
share/doc/sqlrelay/api/tcl/index_proc.html
|
|
|
|
share/doc/sqlrelay/api/tcl/sqlrconCmd.tcl-annot.html
|
|
|
|
share/doc/sqlrelay/api/tcl/sqlrconCmd.tcl.html
|
|
|
|
share/doc/sqlrelay/api/tcl/sqlrconCmd.tcl.txt
|
|
|
|
share/doc/sqlrelay/api/tcl/sqlrcurCmd.tcl-annot.html
|
|
|
|
share/doc/sqlrelay/api/tcl/sqlrcurCmd.tcl.html
|
|
|
|
share/doc/sqlrelay/api/tcl/sqlrcurCmd.tcl.txt
|
|
|
|
share/doc/sqlrelay/api/tcl/sqlrelayCmd.tcl-annot.html
|
|
|
|
share/doc/sqlrelay/api/tcl/sqlrelayCmd.tcl.html
|
2006-03-29 03:28:46 +02:00
|
|
|
share/doc/sqlrelay/css/styles.css
|
|
|
|
share/doc/sqlrelay/dropin/mysql.html
|
|
|
|
share/doc/sqlrelay/dropin/postgresql.html
|
|
|
|
share/doc/sqlrelay/faq.html
|
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 14:50:47 +02:00
|
|
|
share/doc/sqlrelay/features/connectionpooling.html
|
|
|
|
share/doc/sqlrelay/features/databases.html
|
|
|
|
share/doc/sqlrelay/features/dbabstractionlayers.html
|
|
|
|
share/doc/sqlrelay/features/dropinreplacementlibs.html
|
2016-07-01 19:02:38 +02:00
|
|
|
share/doc/sqlrelay/features/ha.html
|
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 14:50:47 +02:00
|
|
|
share/doc/sqlrelay/features/languages.html
|
|
|
|
share/doc/sqlrelay/features/multirowfetches.html
|
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 14:12:38 +01:00
|
|
|
share/doc/sqlrelay/features/nativeprotocol.html
|
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 14:50:47 +02:00
|
|
|
share/doc/sqlrelay/features/proxying.html
|
Update databases/sqlrelay to 0.63.
sqlrelay 0.63
- suppressed ruby configure warning
- fixed glib detection if pkg-config isn't present
- fixed mono detection on freebsd
- fixed node.js yes/no misreport bug in configure script
- added freetds tcl test
- fixed slashes in tcl tests for windows
- updated docs to mention firebird buffer size parameters
- updated MAX_ITEM_BUFFER_SIZE to 32768 for firebird
- fixed ruby detection on fedora 22
- fixed missing export for setAuth/ResponseTimeout in ruby api
- added manual include of inttypes.h in php api to work around issue
with define/undef games, revealed on openbsd 5.7
- tweaked ruby cflags script for debian 8
- refactored mysql detection
- tweaked unixodbc detection to also look in /usr/include/odbc
- renamed "oracle8" connection plugin to "oracle"
- renamed "sybase" connection plugin to "sap"
- updated identity tests in api's/cmdline clients to use
charstring::contains() rather than !charstring::compare()
- implemented missing destructors for ADO.NET Data Provider
sqlrelay 0.62
- added query filter plugin framework
- added regex, string and pattern filters
- added normalization translation
- added reformatdatetime result set translation
- fixed error in sqlrconfigfile class that could cause sqlr-start to crash
if one instance defines addresses but the next doesn't
- added query status flag to sqlrservercursor
- tweaked odbc driver's SQLGetTypeInfo()
- field name is passed into runResultSetTranslations() now
- added support for maxitembuffersize, maxselectlistsize, and maxbindcount
for firebird
- added native api for node.js
- added recognition of bigint, ubigint and uniqueidentifier fields
in freetds/sybase
- added nullsasnulls command to sqlrsh
- added workaround for freetds empty (but non-null) text fields not getting
properly converted to null-terminated empty strings
- fetchatonce, maxitembuffersize and maxselectlistsize are set to defaulting
values if invalid values are given for them
- added lazyconnect option to PHP PDO and Perl DBI drivers (defaults to 1)
- direct Transact SQL which returns a result set is now supported
with Sybase/SAP/MSSQLServer/FreeTDS
- added docs for authentication, query translation, query filter and
result set translation modules
- added -fPIC to sqlrserver-config --cflags, if supported
- the "default" auth module is now called "userlist"
- added database auth module that is analagous to authtier="database"
- replaced passwordencryption attribute with passwordencryptionid
- added --disable-postgresql8-api configure option
- tweaked -Werror detection in configure script
- refactored sqlr-bench build to work on windows
- documentation, examples and tests are now covered by a license
- reflecting modern interpretation of the GPL, The license for
The SQLRelay Server (as designated in COPYING) license now carries
an exception, explicitly allowing it to be linked with various non-GPL
compatible libraries
- license is installed now
sqlrelay 0.61 skipped
sqlrelay 0.60
- 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
2015-09-02 14:39:33 +02:00
|
|
|
share/doc/sqlrelay/features/queryfiltering.html
|
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 14:50:47 +02:00
|
|
|
share/doc/sqlrelay/features/queryrouting.html
|
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 14:12:38 +01:00
|
|
|
share/doc/sqlrelay/features/querytranslation.html
|
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 14:50:47 +02:00
|
|
|
share/doc/sqlrelay/features/resultsetcaching.html
|
2016-10-21 16:16:34 +02:00
|
|
|
share/doc/sqlrelay/features/schedules.html
|
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 14:50:47 +02:00
|
|
|
share/doc/sqlrelay/features/substitutionandbindvars.html
|
|
|
|
share/doc/sqlrelay/features/suspendedtx.html
|
|
|
|
share/doc/sqlrelay/features/throttling.html
|
|
|
|
share/doc/sqlrelay/images/WPM_4877_1.PNG
|
2014-07-18 20:16:30 +02:00
|
|
|
share/doc/sqlrelay/images/app-pdo-mysql.png
|
|
|
|
share/doc/sqlrelay/images/app-pdo-sqlr-mysql.png
|
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 14:50:47 +02:00
|
|
|
share/doc/sqlrelay/images/app-to-db.png
|
|
|
|
share/doc/sqlrelay/images/app-to-sqlr-to-db.png
|
|
|
|
share/doc/sqlrelay/images/arm-linux-uclibc-thumb.png
|
|
|
|
share/doc/sqlrelay/images/arm-linux-uclibc.png
|
|
|
|
share/doc/sqlrelay/images/blackray.png
|
|
|
|
share/doc/sqlrelay/images/cluster.png
|
2016-10-21 16:16:34 +02:00
|
|
|
share/doc/sqlrelay/images/dayshift.png
|
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 14:12:38 +01:00
|
|
|
share/doc/sqlrelay/images/db2-bench.png
|
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 14:50:47 +02:00
|
|
|
share/doc/sqlrelay/images/fetch-many.png
|
|
|
|
share/doc/sqlrelay/images/fetch-one.png
|
|
|
|
share/doc/sqlrelay/images/firebird.png
|
|
|
|
share/doc/sqlrelay/images/freebsd-i386-thumb.png
|
|
|
|
share/doc/sqlrelay/images/freebsd-i386.png
|
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 14:12:38 +01:00
|
|
|
share/doc/sqlrelay/images/freetds-bench.png
|
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 14:50:47 +02:00
|
|
|
share/doc/sqlrelay/images/freetds.png
|
|
|
|
share/doc/sqlrelay/images/haiku-thumb.png
|
|
|
|
share/doc/sqlrelay/images/haiku.png
|
|
|
|
share/doc/sqlrelay/images/hurd-i386-thumb.png
|
|
|
|
share/doc/sqlrelay/images/hurd-i386.png
|
|
|
|
share/doc/sqlrelay/images/i386-linux-uclibc-thumb.png
|
|
|
|
share/doc/sqlrelay/images/i386-linux-uclibc.png
|
|
|
|
share/doc/sqlrelay/images/ibm.png
|
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 14:12:38 +01:00
|
|
|
share/doc/sqlrelay/images/informix-bench.png
|
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 14:50:47 +02:00
|
|
|
share/doc/sqlrelay/images/iodbc.png
|
2016-07-01 19:02:38 +02:00
|
|
|
share/doc/sqlrelay/images/loadbalancer.png
|
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 14:50:47 +02:00
|
|
|
share/doc/sqlrelay/images/mdbtools.png
|
|
|
|
share/doc/sqlrelay/images/minix-thumb.png
|
|
|
|
share/doc/sqlrelay/images/minix.png
|
|
|
|
share/doc/sqlrelay/images/mssqlserver.png
|
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 14:12:38 +01:00
|
|
|
share/doc/sqlrelay/images/mysql-bench.png
|
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 14:50:47 +02:00
|
|
|
share/doc/sqlrelay/images/mysql-chain.png
|
|
|
|
share/doc/sqlrelay/images/mysql-sqlr-chain.png
|
|
|
|
share/doc/sqlrelay/images/mysql.png
|
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 14:12:38 +01:00
|
|
|
share/doc/sqlrelay/images/mysqlnativeprotocol.png
|
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 14:50:47 +02:00
|
|
|
share/doc/sqlrelay/images/netbsd-i386-thumb.png
|
|
|
|
share/doc/sqlrelay/images/netbsd-i386.png
|
|
|
|
share/doc/sqlrelay/images/netbsd-sparc-thumb.png
|
|
|
|
share/doc/sqlrelay/images/netbsd-sparc.png
|
|
|
|
share/doc/sqlrelay/images/netbsd-vax-thumb.png
|
|
|
|
share/doc/sqlrelay/images/netbsd-vax.png
|
2016-10-21 16:16:34 +02:00
|
|
|
share/doc/sqlrelay/images/nightshift.png
|
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 14:50:47 +02:00
|
|
|
share/doc/sqlrelay/images/openbsd-i386-thumb.png
|
|
|
|
share/doc/sqlrelay/images/openbsd-i386.png
|
|
|
|
share/doc/sqlrelay/images/openbsd-sparc-thumb.png
|
|
|
|
share/doc/sqlrelay/images/openbsd-sparc.png
|
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 14:12:38 +01:00
|
|
|
share/doc/sqlrelay/images/oracle-bench.png
|
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 14:50:47 +02:00
|
|
|
share/doc/sqlrelay/images/oracle.png
|
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 14:12:38 +01:00
|
|
|
share/doc/sqlrelay/images/postgresql-bench.png
|
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 14:50:47 +02:00
|
|
|
share/doc/sqlrelay/images/postgresql-chain.png
|
|
|
|
share/doc/sqlrelay/images/postgresql-sqlr-chain.png
|
|
|
|
share/doc/sqlrelay/images/postgresql.png
|
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 14:12:38 +01:00
|
|
|
share/doc/sqlrelay/images/postgresqlnativeprotocol.png
|
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 14:50:47 +02:00
|
|
|
share/doc/sqlrelay/images/proxying.png
|
|
|
|
share/doc/sqlrelay/images/query-allowed.png
|
|
|
|
share/doc/sqlrelay/images/query-rejected.png
|
|
|
|
share/doc/sqlrelay/images/queryrouting.png
|
|
|
|
share/doc/sqlrelay/images/redhat62-sparc-thumb.png
|
|
|
|
share/doc/sqlrelay/images/redhat62-sparc.png
|
|
|
|
share/doc/sqlrelay/images/replicated-disproportionate.png
|
|
|
|
share/doc/sqlrelay/images/replicated.png
|
2016-07-01 19:02:38 +02:00
|
|
|
share/doc/sqlrelay/images/router.png
|
|
|
|
share/doc/sqlrelay/images/rrdns.png
|
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 14:12:38 +01:00
|
|
|
share/doc/sqlrelay/images/sap-bench.png
|
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 14:50:47 +02:00
|
|
|
share/doc/sqlrelay/images/sco-osr6-i386-thumb.png
|
|
|
|
share/doc/sqlrelay/images/sco-osr6-i386.png
|
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 14:12:38 +01:00
|
|
|
share/doc/sqlrelay/images/sqlite-bench.png
|
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 14:50:47 +02:00
|
|
|
share/doc/sqlrelay/images/sqlite.png
|
|
|
|
share/doc/sqlrelay/images/sqlr-fetch-many-return-rsbuffersize.png
|
|
|
|
share/doc/sqlrelay/images/sqlr-fetch-many-return.png
|
|
|
|
share/doc/sqlrelay/images/sqlr-fetch-many.png
|
|
|
|
share/doc/sqlrelay/images/sqlr-fetch-one-return-rsbuffersize.png
|
|
|
|
share/doc/sqlrelay/images/sqlrelay.png
|
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 14:12:38 +01:00
|
|
|
share/doc/sqlrelay/images/sqlrelaymysqlprotocol.png
|
|
|
|
share/doc/sqlrelay/images/sqlrelaymysqlprotocolbackend.png
|
|
|
|
share/doc/sqlrelay/images/sqlrelaynativeprotocol.png
|
|
|
|
share/doc/sqlrelay/images/sqlrelaypostgresqlprotocol.png
|
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 14:50:47 +02:00
|
|
|
share/doc/sqlrelay/images/sybase.png
|
|
|
|
share/doc/sqlrelay/images/syllable-thumb.png
|
|
|
|
share/doc/sqlrelay/images/syllable.png
|
|
|
|
share/doc/sqlrelay/images/toomanyconnections.png
|
|
|
|
share/doc/sqlrelay/images/unixodbc.png
|
2006-03-29 03:28:46 +02:00
|
|
|
share/doc/sqlrelay/index.html
|
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 14:50:47 +02:00
|
|
|
share/doc/sqlrelay/js/rotate.js
|
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 15:26:45 +02:00
|
|
|
share/doc/sqlrelay/programming/ado.net.html
|
2006-03-29 03:28:46 +02:00
|
|
|
share/doc/sqlrelay/programming/binds.html
|
|
|
|
share/doc/sqlrelay/programming/c++.html
|
|
|
|
share/doc/sqlrelay/programming/c.html
|
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 15:26:45 +02:00
|
|
|
share/doc/sqlrelay/programming/cs.html
|
|
|
|
share/doc/sqlrelay/programming/erlang.html
|
2006-03-29 03:28:46 +02:00
|
|
|
share/doc/sqlrelay/programming/java.html
|
Updated databases/sqlrelay to 0.43
pkgsrc changes:
* Added LICENSE to package and options
* Pre-create neede volatile directories
* Improve the NetBSD rc.d script
0.43
* updated ruby code build to take sitearch into account during includes
* updated ruby code to map STR2CSTR to StringValuePtr for ruby 1.9
* updated to use rudiments' updated signalclasses
* replaced calls to fork() and exit() with process class calls
* updated ruby detection in configure script
* added a test for Python.h to the configure script
* updated tcl detection
* updated db2 detection
* added sed command to remove -arch args from perl build (for osx)
* added charset support for all db's who's client libraries support them
* updated detection of various languages and db's on various platforms
* added getting started with odbc doc
* updated faq with info about result sets from stored procedures
0.42
* fixed a bug causing cursor id's not to get set for some db's
* updated configure script to look for client64 in addition to client
for oracle intantclient on x86_64
* added setTimeout to all API's
* applied some patches from Alexey Leontev
* bumped BINDVARLENGTH up to 64
* applied Renat Sabitov's scaler -debug patch and 11g configure patch
* applied Stephan van Egmond's sqlrsh history patch
* added configure test for gmake, use it to find ruby.h
* applied mingang@taobao.com's scaler patch for -debug
* added getting started notes for Oracle 11.2 on Fedora Core 12
* added test for mdb_sql_run_query and code to use it if it's there
* fixed a bug that caused ping to fail after reconnecting to sybase
* added configure test for xsubpp
* fixed perl dbi inout bind problem
* fixed code that was adding a NULL terminator to oracle clob values
* applied several patches from Renat Sabitov
* applied dynamic cursor patch from Cal Heldenbrand
* applied Claudio Freire's normalized matching and xmlparsing patches
* fixed sqlite connection to use sqlite3_malloc/free
* update freetds connection to get tds version with ct_config if
TDS_VERSION_NO doesn't exist
* applied a fix for a bug that could cause a crash when a cursor is reused
* fixed a shutdown race condition in connection daemons
* moved common startup/shutdown code for connection daemons up into
static methods/variables of the sqlrconnection_svr class
* fixed a crash in the oracle connection daemon where OCIHandleFree was
getting called on define handles that weren't created by OCIHandleAlloc
* removed rebuild target from Makefiles
* updated tests
* refactored main() method for connections
* added searches for ruby1.8, ruby19 and ruby1.9 in configure script
* fixed a bug that caused addresses="" to cause the sqlr-listener not to start
* added entries to FAQ about oracle instantclient and ubunu /bin/dash
* updated postgresql tests to use bpchar rather than char(20) for
fetching results of stored procedure
* renamed interbase.create.sh to firebird.create.sh
* fixed a bug that could overrun the postgresql bind array
* fixed bug that caused connection daemon sockets to be double-freed on
shutdown after a suspended session
* precision/scale in output bind buffers is initialized now
* debugstring buffers are no longer build when debug is turned off
* fixed id vs. index bug when requesting a cursor and binding a cursor
* refactored JNI code a bit, fixed getIntField/getLongField problem that
caused problems on 64-bit machines
* applied patch to make python api return decimals and integers, not
just strings, refactored some of it
* fixed dump tran docs in getting started with sybase to use sa
* updated sybase connection to use length of cursor name rather than
CS_NULLTERM to work around an odd, inconsistent bug that would
cause the connection to hang sometimes
* connections not spawned by scaler don't signal on the semaphore used
by the scaler to wait for a connection to start now
* updated bind var docs
* updated faq
* fixed a bug where binding an oracle cursor didn't reset some values
and would cause subsequent cursor binds to fail
* added note to docs about configuring sybase to dump transactions at each
checkpoint
* applied Renat Sabitov's patch to kill scaler-started connections which fail
to signal on sem(8) because they either crashed or got hung up trying
to start
* fixed a bug in the mysql drop-in lib that could cause the client to run out
of cursors
* added a mapping between sqlite3_free and sqlite_freemem
* added a fix for a race condition in the scaler
* fixed a postgresql bind memory leak
* applied Renat's ruby DESTDIR patch and updated helper scripts to
remove $(DESTDIR) from all the variables that it outputs
* applied Renat's patch to handle semaphore failures in forked listeners
during shutdown
* applied Renat's patch to move connection counting for scaler-spawned
connections entirely into scaler itself
* applied Renat's patch to reap children more regularly and refactored it
a little
* fixed distclean to remove perl .pm files
* changed maxsessioncount default to 0, updated docs, examples
0.41
* added configure test for ruby.h
* added a couple of new functions to the mysql drop-in library
* updated mysql drop-in lib docs explaining how to use with PHP
* added documentation for timequeries params
* if SQLConnectW isn't supported, ODBC driver uses non-unicode calls
* added maxsessioncount parameter and connections use it to override
ttl and bleed off
* applied Renat Sabitov's output bind patch
* added mysql last_insert_id() note to FAQ
* made it so oracle_home doesn't need to be set if oracle_sid is
specified in tnsnames.ora format
0.40
* fixed readline detection in configure script
* fixed an uninitialized variable in sqlr-import
* changed clientSession() to call endSessionCommand() instead of endSession()
so endSessionInternal() would be called every time
* fixed debug option in sqlr-import and sqlr-export
* fixed postgresql typemangling=no option
* set dbversion to unknown if sp_version wasn't found in freetds/sybase
* output bind variables' null indicator is reset now
* updated postgresql typemangling
* included Jesse Wagner's oracle 11g acsite patch
* added +1 to inbindvars[i].valuesize for CLOB's to make sure the NULL
terminator is included
* postgresql connection uses PQparameterStatus if PQserverVersion doesn't
exist and runs "select version()" if PQparameterStatus doesn't exist;
to get the db version
* added mysql-5.1 drop-in replacement lib
* fixed a bug that caused result set data not to be cleaned up before a cursor
is reused as a bind cursor
* changed string bind length to uint32_t from uint16_t
* added clearBinds() call after executeQuery() in perl dbi driver
* began work on an ODBC driver
* added serverVersion and clientVersion methods
* incorporated Alfred Fazio's python api patches
* fixed a bug where cursors might not get aborted when a client disconnects
* made shared memory segment group-readable
* applied Renaud Amar's HAVE_MYSQL_OPT_RECONNECT patch
* added ODBC driver to spec file
* added DESTDIR= to .pc files
* made freetds use single-quote for escape character, other db's use backslash
* made sqlr-export/import use &##; for non-printable characters, &, < and >
* fixed scaler; supports -localstatedir option properly now
* fixed many it's -> its typos in the documentation
* changed debug so that only one binary is built and it's selected at runtime
* integrated erlang api
* added -localstatedir to sqlr-stop
* fixed mysql (with statement api) relogin problems
* removed non-functional config app
* added Oracle 11g on fc9 document
* added ASE 15.0.2 installation doc
* made it possible to only bind to port, not socket
* added test for tdsver.h
0.39
* removed oracle7 support
* added OCI_OBJECT to oracle environment init
* added some more error codes to oracle's dead connection test
* connections don't decrement connection count when they fail to log in now :)
* added -silent option to connections that scaler uses so they don't spew
login errors if the db is down
* fixed a bug that disabled scaling if maxlisteners was -1 (the default, which
means no maximum)
* freetds, db2 connection don't detach before logging in any more
* added reloginatstart config parameter
* fixed sendLob for oracle<8i
* applied Johnny Luong's postgresql drop-in lib patch
* applied Jason McClellen's perl dbi raise-error patch
* sybase/freetds use CS_SEVERITY instead of msgp->severity now
* added 64 bit sybase tests
* postgresql only uses PQexecPrepared if PQprepare also exists
* set LANG=POSIX before running ruby/make so sed's would work on non-us
locales
* documented how to use mysql stored procedure output parameters
* applied james@thoughtpatterns.com's perl null bind patch
* applied Tim Bunce's perl dbi driver patch
* suppress error message of cat $ORACLE_HOME/lib/sysliblist in configure
script
* added support for stored procedures which return result sets to sybase
connection
* added support for stored procedures which return result sets to freetds
connection but it doesn't actually return anything
* documented how to use sybase stored procedure result sets
* fixed a bug that caused zope to get an exception when result sets are empty
* configure looks for instantclient if it can't find anything in
ORACLE_HOME, added --with-oracle-instantclient-prefix option
* added sybase ASE 15 install doc
* fixed a bug that caused the router connection to return a max of 10 rows
* applied Chris Coyle's mysql auto-reconnect patch
* modified countBindVariables to exclude :'s and @'s if it finds $'s or ?'s
* applied some of Tim Bunce's DBI patches
* added pid cleanup to init script similar to patch supplied by Ragnar Rova
* added validBind() method which will return whether a bind
variable is in the query or not
* fixed Yeb Havinga's db-tier authentication bug
* added timequeries option
* added support for Oracle OS-authentication
* added some new FAQ's
* mysql connection calls commit() before running the first query after
each new client connection
* fixed a crash in the router involving "fake begin's"
* documented msql transaction weirdness and db2 relogin issues
* added /opt/csw to configure script search path
* improved filtering out of -x arguments in perl/ruby make commands
* added -lruby, -lperl, -lpython, etc for OS X
0.38
* implemented mysql_stmt function support in mysql connection
* fixed mysql_autocommit detection
* fixed missing self before __getRow and __getRowRange in python db driver
* implemented query filtering and routing
* interbase/firebird dead-db/relogin works now
* added test for 0 length result set to PySQLRDB's fetchmany method
* added mysql_config sanity test to configure script
* NULL's are escaped in fake input BLOB binds now
* query router works pretty well now
* applied Sharpinskiy Dmitry's odbc unicode patch
* integrated Devananda's statistics gathering code
* added support for mysql stored procedures
* integrated Devananda's mysql result set updates
* sqlrelay.conf.example installed as $datadir/examples/sqlrelay.conf now
* integrated Andreas Behr's listener crash patch
* removed erroneous reference to sqlrcon_errormessage in php pear db
* another multibyte clob fix
* added "delimiter" command to sqlrsh to change delimiter from ; to whatever
* removed msql support
* added db2 9.1 installation doc
* added firebird 2.0 installation docs
* router connection overrides authtier=database
* fixed a bug where clients would hang if they requested a cursor when
none were available
* added some additional mdb 5 checks to configure script
* added iconv const char parameter check to configure script
* the main listener doesn't listen for clients until all of the connections
have started now
* added notes about tcp_tw_recycle/tcp_tw_reuse in tuning doc
* ping causes the connection to relogin if it returns false now
* added iconv include/library find to configure script
* fixed sqlrlistener so forked listeners don't remove the pid file
* switched oracle 8 column size variable type from sb4 to ub2
* if maxqueuelength>maxlisteners then scaling isn't used
2011-11-02 14:59:29 +01:00
|
|
|
share/doc/sqlrelay/programming/jdbc.html
|
Update databases/sqlrelay to 0.63.
sqlrelay 0.63
- suppressed ruby configure warning
- fixed glib detection if pkg-config isn't present
- fixed mono detection on freebsd
- fixed node.js yes/no misreport bug in configure script
- added freetds tcl test
- fixed slashes in tcl tests for windows
- updated docs to mention firebird buffer size parameters
- updated MAX_ITEM_BUFFER_SIZE to 32768 for firebird
- fixed ruby detection on fedora 22
- fixed missing export for setAuth/ResponseTimeout in ruby api
- added manual include of inttypes.h in php api to work around issue
with define/undef games, revealed on openbsd 5.7
- tweaked ruby cflags script for debian 8
- refactored mysql detection
- tweaked unixodbc detection to also look in /usr/include/odbc
- renamed "oracle8" connection plugin to "oracle"
- renamed "sybase" connection plugin to "sap"
- updated identity tests in api's/cmdline clients to use
charstring::contains() rather than !charstring::compare()
- implemented missing destructors for ADO.NET Data Provider
sqlrelay 0.62
- added query filter plugin framework
- added regex, string and pattern filters
- added normalization translation
- added reformatdatetime result set translation
- fixed error in sqlrconfigfile class that could cause sqlr-start to crash
if one instance defines addresses but the next doesn't
- added query status flag to sqlrservercursor
- tweaked odbc driver's SQLGetTypeInfo()
- field name is passed into runResultSetTranslations() now
- added support for maxitembuffersize, maxselectlistsize, and maxbindcount
for firebird
- added native api for node.js
- added recognition of bigint, ubigint and uniqueidentifier fields
in freetds/sybase
- added nullsasnulls command to sqlrsh
- added workaround for freetds empty (but non-null) text fields not getting
properly converted to null-terminated empty strings
- fetchatonce, maxitembuffersize and maxselectlistsize are set to defaulting
values if invalid values are given for them
- added lazyconnect option to PHP PDO and Perl DBI drivers (defaults to 1)
- direct Transact SQL which returns a result set is now supported
with Sybase/SAP/MSSQLServer/FreeTDS
- added docs for authentication, query translation, query filter and
result set translation modules
- added -fPIC to sqlrserver-config --cflags, if supported
- the "default" auth module is now called "userlist"
- added database auth module that is analagous to authtier="database"
- replaced passwordencryption attribute with passwordencryptionid
- added --disable-postgresql8-api configure option
- tweaked -Werror detection in configure script
- refactored sqlr-bench build to work on windows
- documentation, examples and tests are now covered by a license
- reflecting modern interpretation of the GPL, The license for
The SQLRelay Server (as designated in COPYING) license now carries
an exception, explicitly allowing it to be linked with various non-GPL
compatible libraries
- license is installed now
sqlrelay 0.61 skipped
sqlrelay 0.60
- 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
2015-09-02 14:39:33 +02:00
|
|
|
share/doc/sqlrelay/programming/nodejs.html
|
Updated databases/sqlrelay to 0.43
pkgsrc changes:
* Added LICENSE to package and options
* Pre-create neede volatile directories
* Improve the NetBSD rc.d script
0.43
* updated ruby code build to take sitearch into account during includes
* updated ruby code to map STR2CSTR to StringValuePtr for ruby 1.9
* updated to use rudiments' updated signalclasses
* replaced calls to fork() and exit() with process class calls
* updated ruby detection in configure script
* added a test for Python.h to the configure script
* updated tcl detection
* updated db2 detection
* added sed command to remove -arch args from perl build (for osx)
* added charset support for all db's who's client libraries support them
* updated detection of various languages and db's on various platforms
* added getting started with odbc doc
* updated faq with info about result sets from stored procedures
0.42
* fixed a bug causing cursor id's not to get set for some db's
* updated configure script to look for client64 in addition to client
for oracle intantclient on x86_64
* added setTimeout to all API's
* applied some patches from Alexey Leontev
* bumped BINDVARLENGTH up to 64
* applied Renat Sabitov's scaler -debug patch and 11g configure patch
* applied Stephan van Egmond's sqlrsh history patch
* added configure test for gmake, use it to find ruby.h
* applied mingang@taobao.com's scaler patch for -debug
* added getting started notes for Oracle 11.2 on Fedora Core 12
* added test for mdb_sql_run_query and code to use it if it's there
* fixed a bug that caused ping to fail after reconnecting to sybase
* added configure test for xsubpp
* fixed perl dbi inout bind problem
* fixed code that was adding a NULL terminator to oracle clob values
* applied several patches from Renat Sabitov
* applied dynamic cursor patch from Cal Heldenbrand
* applied Claudio Freire's normalized matching and xmlparsing patches
* fixed sqlite connection to use sqlite3_malloc/free
* update freetds connection to get tds version with ct_config if
TDS_VERSION_NO doesn't exist
* applied a fix for a bug that could cause a crash when a cursor is reused
* fixed a shutdown race condition in connection daemons
* moved common startup/shutdown code for connection daemons up into
static methods/variables of the sqlrconnection_svr class
* fixed a crash in the oracle connection daemon where OCIHandleFree was
getting called on define handles that weren't created by OCIHandleAlloc
* removed rebuild target from Makefiles
* updated tests
* refactored main() method for connections
* added searches for ruby1.8, ruby19 and ruby1.9 in configure script
* fixed a bug that caused addresses="" to cause the sqlr-listener not to start
* added entries to FAQ about oracle instantclient and ubunu /bin/dash
* updated postgresql tests to use bpchar rather than char(20) for
fetching results of stored procedure
* renamed interbase.create.sh to firebird.create.sh
* fixed a bug that could overrun the postgresql bind array
* fixed bug that caused connection daemon sockets to be double-freed on
shutdown after a suspended session
* precision/scale in output bind buffers is initialized now
* debugstring buffers are no longer build when debug is turned off
* fixed id vs. index bug when requesting a cursor and binding a cursor
* refactored JNI code a bit, fixed getIntField/getLongField problem that
caused problems on 64-bit machines
* applied patch to make python api return decimals and integers, not
just strings, refactored some of it
* fixed dump tran docs in getting started with sybase to use sa
* updated sybase connection to use length of cursor name rather than
CS_NULLTERM to work around an odd, inconsistent bug that would
cause the connection to hang sometimes
* connections not spawned by scaler don't signal on the semaphore used
by the scaler to wait for a connection to start now
* updated bind var docs
* updated faq
* fixed a bug where binding an oracle cursor didn't reset some values
and would cause subsequent cursor binds to fail
* added note to docs about configuring sybase to dump transactions at each
checkpoint
* applied Renat Sabitov's patch to kill scaler-started connections which fail
to signal on sem(8) because they either crashed or got hung up trying
to start
* fixed a bug in the mysql drop-in lib that could cause the client to run out
of cursors
* added a mapping between sqlite3_free and sqlite_freemem
* added a fix for a race condition in the scaler
* fixed a postgresql bind memory leak
* applied Renat's ruby DESTDIR patch and updated helper scripts to
remove $(DESTDIR) from all the variables that it outputs
* applied Renat's patch to handle semaphore failures in forked listeners
during shutdown
* applied Renat's patch to move connection counting for scaler-spawned
connections entirely into scaler itself
* applied Renat's patch to reap children more regularly and refactored it
a little
* fixed distclean to remove perl .pm files
* changed maxsessioncount default to 0, updated docs, examples
0.41
* added configure test for ruby.h
* added a couple of new functions to the mysql drop-in library
* updated mysql drop-in lib docs explaining how to use with PHP
* added documentation for timequeries params
* if SQLConnectW isn't supported, ODBC driver uses non-unicode calls
* added maxsessioncount parameter and connections use it to override
ttl and bleed off
* applied Renat Sabitov's output bind patch
* added mysql last_insert_id() note to FAQ
* made it so oracle_home doesn't need to be set if oracle_sid is
specified in tnsnames.ora format
0.40
* fixed readline detection in configure script
* fixed an uninitialized variable in sqlr-import
* changed clientSession() to call endSessionCommand() instead of endSession()
so endSessionInternal() would be called every time
* fixed debug option in sqlr-import and sqlr-export
* fixed postgresql typemangling=no option
* set dbversion to unknown if sp_version wasn't found in freetds/sybase
* output bind variables' null indicator is reset now
* updated postgresql typemangling
* included Jesse Wagner's oracle 11g acsite patch
* added +1 to inbindvars[i].valuesize for CLOB's to make sure the NULL
terminator is included
* postgresql connection uses PQparameterStatus if PQserverVersion doesn't
exist and runs "select version()" if PQparameterStatus doesn't exist;
to get the db version
* added mysql-5.1 drop-in replacement lib
* fixed a bug that caused result set data not to be cleaned up before a cursor
is reused as a bind cursor
* changed string bind length to uint32_t from uint16_t
* added clearBinds() call after executeQuery() in perl dbi driver
* began work on an ODBC driver
* added serverVersion and clientVersion methods
* incorporated Alfred Fazio's python api patches
* fixed a bug where cursors might not get aborted when a client disconnects
* made shared memory segment group-readable
* applied Renaud Amar's HAVE_MYSQL_OPT_RECONNECT patch
* added ODBC driver to spec file
* added DESTDIR= to .pc files
* made freetds use single-quote for escape character, other db's use backslash
* made sqlr-export/import use &##; for non-printable characters, &, < and >
* fixed scaler; supports -localstatedir option properly now
* fixed many it's -> its typos in the documentation
* changed debug so that only one binary is built and it's selected at runtime
* integrated erlang api
* added -localstatedir to sqlr-stop
* fixed mysql (with statement api) relogin problems
* removed non-functional config app
* added Oracle 11g on fc9 document
* added ASE 15.0.2 installation doc
* made it possible to only bind to port, not socket
* added test for tdsver.h
0.39
* removed oracle7 support
* added OCI_OBJECT to oracle environment init
* added some more error codes to oracle's dead connection test
* connections don't decrement connection count when they fail to log in now :)
* added -silent option to connections that scaler uses so they don't spew
login errors if the db is down
* fixed a bug that disabled scaling if maxlisteners was -1 (the default, which
means no maximum)
* freetds, db2 connection don't detach before logging in any more
* added reloginatstart config parameter
* fixed sendLob for oracle<8i
* applied Johnny Luong's postgresql drop-in lib patch
* applied Jason McClellen's perl dbi raise-error patch
* sybase/freetds use CS_SEVERITY instead of msgp->severity now
* added 64 bit sybase tests
* postgresql only uses PQexecPrepared if PQprepare also exists
* set LANG=POSIX before running ruby/make so sed's would work on non-us
locales
* documented how to use mysql stored procedure output parameters
* applied james@thoughtpatterns.com's perl null bind patch
* applied Tim Bunce's perl dbi driver patch
* suppress error message of cat $ORACLE_HOME/lib/sysliblist in configure
script
* added support for stored procedures which return result sets to sybase
connection
* added support for stored procedures which return result sets to freetds
connection but it doesn't actually return anything
* documented how to use sybase stored procedure result sets
* fixed a bug that caused zope to get an exception when result sets are empty
* configure looks for instantclient if it can't find anything in
ORACLE_HOME, added --with-oracle-instantclient-prefix option
* added sybase ASE 15 install doc
* fixed a bug that caused the router connection to return a max of 10 rows
* applied Chris Coyle's mysql auto-reconnect patch
* modified countBindVariables to exclude :'s and @'s if it finds $'s or ?'s
* applied some of Tim Bunce's DBI patches
* added pid cleanup to init script similar to patch supplied by Ragnar Rova
* added validBind() method which will return whether a bind
variable is in the query or not
* fixed Yeb Havinga's db-tier authentication bug
* added timequeries option
* added support for Oracle OS-authentication
* added some new FAQ's
* mysql connection calls commit() before running the first query after
each new client connection
* fixed a crash in the router involving "fake begin's"
* documented msql transaction weirdness and db2 relogin issues
* added /opt/csw to configure script search path
* improved filtering out of -x arguments in perl/ruby make commands
* added -lruby, -lperl, -lpython, etc for OS X
0.38
* implemented mysql_stmt function support in mysql connection
* fixed mysql_autocommit detection
* fixed missing self before __getRow and __getRowRange in python db driver
* implemented query filtering and routing
* interbase/firebird dead-db/relogin works now
* added test for 0 length result set to PySQLRDB's fetchmany method
* added mysql_config sanity test to configure script
* NULL's are escaped in fake input BLOB binds now
* query router works pretty well now
* applied Sharpinskiy Dmitry's odbc unicode patch
* integrated Devananda's statistics gathering code
* added support for mysql stored procedures
* integrated Devananda's mysql result set updates
* sqlrelay.conf.example installed as $datadir/examples/sqlrelay.conf now
* integrated Andreas Behr's listener crash patch
* removed erroneous reference to sqlrcon_errormessage in php pear db
* another multibyte clob fix
* added "delimiter" command to sqlrsh to change delimiter from ; to whatever
* removed msql support
* added db2 9.1 installation doc
* added firebird 2.0 installation docs
* router connection overrides authtier=database
* fixed a bug where clients would hang if they requested a cursor when
none were available
* added some additional mdb 5 checks to configure script
* added iconv const char parameter check to configure script
* the main listener doesn't listen for clients until all of the connections
have started now
* added notes about tcp_tw_recycle/tcp_tw_reuse in tuning doc
* ping causes the connection to relogin if it returns false now
* added iconv include/library find to configure script
* fixed sqlrlistener so forked listeners don't remove the pid file
* switched oracle 8 column size variable type from sb4 to ub2
* if maxqueuelength>maxlisteners then scaling isn't used
2011-11-02 14:59:29 +01:00
|
|
|
share/doc/sqlrelay/programming/odbc.html
|
2006-03-29 03:28:46 +02:00
|
|
|
share/doc/sqlrelay/programming/perl.html
|
|
|
|
share/doc/sqlrelay/programming/perldbi.html
|
|
|
|
share/doc/sqlrelay/programming/php.html
|
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 14:50:47 +02:00
|
|
|
share/doc/sqlrelay/programming/phppdo.html
|
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 15:26:45 +02:00
|
|
|
share/doc/sqlrelay/programming/precisionscale.html
|
2006-03-29 03:28:46 +02:00
|
|
|
share/doc/sqlrelay/programming/python.html
|
|
|
|
share/doc/sqlrelay/programming/pythondb.html
|
|
|
|
share/doc/sqlrelay/programming/ruby.html
|
|
|
|
share/doc/sqlrelay/programming/tcl.html
|
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 14:50:47 +02:00
|
|
|
share/examples/sqlrelay/sqlrelay.conf
|
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 14:12:38 +01:00
|
|
|
@pkgdir share/examples/sqlrelay/sqlrelay.conf.d
|
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 14:50:47 +02:00
|
|
|
share/examples/sqlrelay/sqlrelay.xsd
|
Update databases/sqlrelay to 0.63.
sqlrelay 0.63
- suppressed ruby configure warning
- fixed glib detection if pkg-config isn't present
- fixed mono detection on freebsd
- fixed node.js yes/no misreport bug in configure script
- added freetds tcl test
- fixed slashes in tcl tests for windows
- updated docs to mention firebird buffer size parameters
- updated MAX_ITEM_BUFFER_SIZE to 32768 for firebird
- fixed ruby detection on fedora 22
- fixed missing export for setAuth/ResponseTimeout in ruby api
- added manual include of inttypes.h in php api to work around issue
with define/undef games, revealed on openbsd 5.7
- tweaked ruby cflags script for debian 8
- refactored mysql detection
- tweaked unixodbc detection to also look in /usr/include/odbc
- renamed "oracle8" connection plugin to "oracle"
- renamed "sybase" connection plugin to "sap"
- updated identity tests in api's/cmdline clients to use
charstring::contains() rather than !charstring::compare()
- implemented missing destructors for ADO.NET Data Provider
sqlrelay 0.62
- added query filter plugin framework
- added regex, string and pattern filters
- added normalization translation
- added reformatdatetime result set translation
- fixed error in sqlrconfigfile class that could cause sqlr-start to crash
if one instance defines addresses but the next doesn't
- added query status flag to sqlrservercursor
- tweaked odbc driver's SQLGetTypeInfo()
- field name is passed into runResultSetTranslations() now
- added support for maxitembuffersize, maxselectlistsize, and maxbindcount
for firebird
- added native api for node.js
- added recognition of bigint, ubigint and uniqueidentifier fields
in freetds/sybase
- added nullsasnulls command to sqlrsh
- added workaround for freetds empty (but non-null) text fields not getting
properly converted to null-terminated empty strings
- fetchatonce, maxitembuffersize and maxselectlistsize are set to defaulting
values if invalid values are given for them
- added lazyconnect option to PHP PDO and Perl DBI drivers (defaults to 1)
- direct Transact SQL which returns a result set is now supported
with Sybase/SAP/MSSQLServer/FreeTDS
- added docs for authentication, query translation, query filter and
result set translation modules
- added -fPIC to sqlrserver-config --cflags, if supported
- the "default" auth module is now called "userlist"
- added database auth module that is analagous to authtier="database"
- replaced passwordencryption attribute with passwordencryptionid
- added --disable-postgresql8-api configure option
- tweaked -Werror detection in configure script
- refactored sqlr-bench build to work on windows
- documentation, examples and tests are now covered by a license
- reflecting modern interpretation of the GPL, The license for
The SQLRelay Server (as designated in COPYING) license now carries
an exception, explicitly allowing it to be linked with various non-GPL
compatible libraries
- license is installed now
sqlrelay 0.61 skipped
sqlrelay 0.60
- 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
2015-09-02 14:39:33 +02:00
|
|
|
share/licenses/sqlrelay/COPYING
|