./databases/sqlrelay, Database connection pooling middleware and API

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 1.0.0nb3, Package name: sqlrelay-1.0.0nb3, Maintainer: filip

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.


Required to run:
[devel/rudiments]

Required to build:
[pkgtools/cwrappers]

Master sites:

SHA1: 3f350a71fea8177a8e003524b6833347f741153b
RMD160: 1bc6c1ac02eb8a58c1aa8e2bacd0c8662a283aad
Filesize: 4096.176 KB

Version history: (Expand)


CVS history: (Expand)


   2018-01-01 22:18:57 by Adam Ciarcinski | Files touched by this commit (629) | Package updated
Log message:
Revbump after boost update
   2017-08-24 22:03:43 by Adam Ciarcinski | Files touched by this commit (621) | Package updated
Log message:
Revbump for boost update
   2017-06-12 19:06:18 by Takahiro Kambe | Files touched by this commit (3)
Log message:
Add fix for Ruby 2.4 and later.
   2017-04-30 03:22:04 by Ryo ONODERA | Files touched by this commit (612) | Package updated
Log message:
Recursive revbump from boost update
   2017-01-16 14:13:13 by Filip Hajny | Files touched by this commit (8) | Package updated
Log message:
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-01 17:06:40 by Adam Ciarcinski | Files touched by this commit (616) | Package updated
Log message:
Revbump after boost update
   2016-10-21 16:16:35 by Filip Hajny | Files touched by this commit (16) | Package updated
Log message:
Update databases/sqlrelay and sub-packages to 0.66.0.

New features:

- Notification Modules
- Connection Schedules
- Query Router Modules

Full changelog:

- fixed mysql set isolation level query
- updated mysql connection to run commit/rollback at the end of every
  session even if only selects were run, to make sure metadata locks are
  released
- renamed sqlrclientexitstatus_t to clientsessionexitstatus_t
- updated all db connection modules to reinit the column count during
  prepare rather than execute
- fixed bug where server-side errors set by conn/cursor->setError()
  could inadverntantly be overriden during the next call to
  conn/cursor->errorMessage()
- added several more queries to mysql stmt-api blacklist
- configure option --disable-odbc-driver actually works now
- filters can specify an error string and error number now
- added support for systemd
- fixed a memory leak by applying and updating a patch from Kasyanov
  Dmitry to deallocate the error message in C++ API destructor
- legacy_stdio_definitions.lib is now included when building ODBC with
  VS2015
- added support for PHP7
- added -wait option to sqlr-start for non-Windows
- disabled -disable-new-window option to sqlr-start for non-Windows
- non-ascii character encodings work with the C# API now
- rudiments prompt class is used instead of using readline directly now
- renamed "logger-events" to just "events"
- added notification framework and "events" module
- added connection schedule framework and "cron" module
- applied sec/usec patch from samchuck at neowiz to custom_nw logger to
  fix subtle time calculation error
- applied a patch from samchuck at neowiz to the sqlrclient protocol
  module to deallocate storage for bind variables after logging the
  query to resolve a reference-after-free bug
- added router module framework with "regex", "userlist" and
  "clientiplist" modules
- when router detects a possible integrity violation now, it raises an
  event which can be logged or trigger a notification and disables the
  instance
- router calls begin, commit, and rollback on all connections now, even
  if they're executed as queries rather than using the api methods
- removed tls_userlist/krb_userlist auth modules and updated the
  userlist auth module to support tls and kerberos auth
- converted most of the doc source to wikitext
- fixed ODBC driver bug that could corrupt memory and trick the driver
  manager into thinking that some basic functions are unavailable
- ODBC SQLTables works more correctly now
- fixed an ODBC bug that caused the first row to be fetched twice when
  using SQLBindCol
   2016-10-07 20:26:14 by Adam Ciarcinski | Files touched by this commit (611) | Package updated
Log message:
Revbump post boost update