head 1.2; access; symbols pkgsrc-2023Q4:1.2.0.70 pkgsrc-2023Q4-base:1.2 pkgsrc-2023Q3:1.2.0.68 pkgsrc-2023Q3-base:1.2 pkgsrc-2023Q2:1.2.0.66 pkgsrc-2023Q2-base:1.2 pkgsrc-2023Q1:1.2.0.64 pkgsrc-2023Q1-base:1.2 pkgsrc-2022Q4:1.2.0.62 pkgsrc-2022Q4-base:1.2 pkgsrc-2022Q3:1.2.0.60 pkgsrc-2022Q3-base:1.2 pkgsrc-2022Q2:1.2.0.58 pkgsrc-2022Q2-base:1.2 pkgsrc-2022Q1:1.2.0.56 pkgsrc-2022Q1-base:1.2 pkgsrc-2021Q4:1.2.0.54 pkgsrc-2021Q4-base:1.2 pkgsrc-2021Q3:1.2.0.52 pkgsrc-2021Q3-base:1.2 pkgsrc-2021Q2:1.2.0.50 pkgsrc-2021Q2-base:1.2 pkgsrc-2021Q1:1.2.0.48 pkgsrc-2021Q1-base:1.2 pkgsrc-2020Q4:1.2.0.46 pkgsrc-2020Q4-base:1.2 pkgsrc-2020Q3:1.2.0.44 pkgsrc-2020Q3-base:1.2 pkgsrc-2020Q2:1.2.0.40 pkgsrc-2020Q2-base:1.2 pkgsrc-2020Q1:1.2.0.20 pkgsrc-2020Q1-base:1.2 pkgsrc-2019Q4:1.2.0.42 pkgsrc-2019Q4-base:1.2 pkgsrc-2019Q3:1.2.0.38 pkgsrc-2019Q3-base:1.2 pkgsrc-2019Q2:1.2.0.36 pkgsrc-2019Q2-base:1.2 pkgsrc-2019Q1:1.2.0.34 pkgsrc-2019Q1-base:1.2 pkgsrc-2018Q4:1.2.0.32 pkgsrc-2018Q4-base:1.2 pkgsrc-2018Q3:1.2.0.30 pkgsrc-2018Q3-base:1.2 pkgsrc-2018Q2:1.2.0.28 pkgsrc-2018Q2-base:1.2 pkgsrc-2018Q1:1.2.0.26 pkgsrc-2018Q1-base:1.2 pkgsrc-2017Q4:1.2.0.24 pkgsrc-2017Q4-base:1.2 pkgsrc-2017Q3:1.2.0.22 pkgsrc-2017Q3-base:1.2 pkgsrc-2017Q2:1.2.0.18 pkgsrc-2017Q2-base:1.2 pkgsrc-2017Q1:1.2.0.16 pkgsrc-2017Q1-base:1.2 pkgsrc-2016Q4:1.2.0.14 pkgsrc-2016Q4-base:1.2 pkgsrc-2016Q3:1.2.0.12 pkgsrc-2016Q3-base:1.2 pkgsrc-2016Q2:1.2.0.10 pkgsrc-2016Q2-base:1.2 pkgsrc-2016Q1:1.2.0.8 pkgsrc-2016Q1-base:1.2 pkgsrc-2015Q4:1.2.0.6 pkgsrc-2015Q4-base:1.2 pkgsrc-2015Q3:1.2.0.4 pkgsrc-2015Q3-base:1.2 pkgsrc-2015Q2:1.2.0.2 pkgsrc-2015Q2-base:1.2 pkgsrc-2015Q1:1.1.0.8 pkgsrc-2015Q1-base:1.1 pkgsrc-2014Q4:1.1.0.6 pkgsrc-2014Q4-base:1.1 pkgsrc-2014Q3:1.1.0.4 pkgsrc-2014Q3-base:1.1 pkgsrc-2014Q2:1.1.0.2 pkgsrc-2014Q2-base:1.1; locks; strict; comment @# @; 1.2 date 2015.05.20.13.26.45; author ryoon; state Exp; branches; next 1.1; commitid cV2P7XSYwbNkGbmy; 1.1 date 2014.05.22.12.50.48; author fhajny; state Exp; branches; next ; commitid 9PS6dazTyohP2xBx; desc @@ 1.2 log @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 @ text @@@comment $NetBSD$ libexec/sqlrelay/sqlrconnection_postgresql.la @ 1.1 log @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 " 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- 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 @ text @d2 1 a2 1 libexec/sqlrelay/sqlrconnection_postgresql.so @