This is a bugfix release, sending out a series of fixes that have accumulated as version 0.8.0's release is imminent.
Fixes in this version include issues related to the Oracle, SQL Server, MySQL, and Google App Engine dialects, as well as a few schema related and ORM related fixes.
2012-12-02: Added new functions
* sleep
* clear_bindings
Really old operating system distributions may have had problems
linking these functions, but it seems that reasonably recent
ones support them.
2012-11-19: Added missing .mldylib file for shared library support.
pkgsrc change: no need to patch gemspec any more.
Wed Mar 13 2013 version 0.99995 released
* added ODBC::Database.use_sql_column_name= flag to switch
usage of SQLColAttributes(SQL_COLUMN_LABEL) to
SQLColAttributes(SQL_COLUMN_NAME) on per connection basis
* mysql_upgrade now verifies that the server version matches the version against which it was compiled, and exits if there is a mismatch. In addiion, a --version-check option permits specifying whether to enable version checking (the default), or disable checking if given as --skip-version-checking.
* Bugs Fixed
* mysql_upgrade now verifies that the server version matches the version against which it was compiled, and exits if there is a mismatch. In addiion, a --version-check option permits specifying whether to enable version checking (the default), or disable checking if given as --skip-version-checking.
* Bugs Fixed
to address issues with NetBSD-6(and earlier)'s fontconfig not being
new enough for pango.
While doing that, also bump freetype2 dependency to current pkgsrc
version.
Suggested by tron in PR 47882
a) refer 'perl' in their Makefile, or
b) have a directory name of p5-*, or
c) have any dependency on any p5-* package
Like last time, where this caused no complaints.
Changes from previous:
----------------------
0.36 2013-04-08 rurban
- Fix mingw32 off_t redefinition. [cpan #84492]
Use a private sql_off_t typedef for the sqlite internal off_t type.
- cygwin is now a OS_UNIX, not OS_WIN.
0.35 2013-04-01 rurban
- Fix SEGV when fetchrow() is called again after it has returned an
empty list ie. the query has completed. [cpan #16451]
- Add testcases for [cpan #26775] and [cpan #28448]
- Fixed [cpan #26775]: Remove () in names with DISTINCT(t.name)
- Honor -g in $Config{optimize}
- Add META and POD tests, and META info for EUMM
0.34 2013-04-01 rurban
- Fix SEGV in t/ak-dbd.t with asan, concurrent _sqlite2_fetch_row [cpan #55636]
- Add return value for dbd_bind_ph() - bind_param with handle
- Add declaration for sqlite2_busy_timeout()
- Fix clang -Wparentheses and -Wint-conversion warnings
Add support for memory-mapped I/O.
Add the sqlite3_strglob() convenience interface.
Assigned the integer at offset 68 in the database header as the Application ID for when SQLite is used as an application file-format. Added the PRAGMA application_id command to query and set the Application ID.
Report rollback recovery in the error log as SQLITE_NOTICE_RECOVER_ROLLBACK. Change the error log code for WAL recover from SQLITE_OK to SQLITE_NOTICE_RECOVER_WAL.
Report the risky uses of unlinked database files and database filename aliasing as SQLITE_WARNING messages in the error log.
Added the SQLITE_TRACE_SIZE_LIMIT compile-time option.
Increase the default value of SQLITE_MAX_SCHEMA_RETRY to 50 and make sure that it is honored in every place that a schema change might force a statement retry.
Add a new test harness called "mptester" used to verify correct operation when multiple processes are using the same database file at the same time.
Enhance the extension loading mechanism to be more flexible (while still maintaining backwards compatibility) in two ways:
If the default entry point "sqlite3_extension_init" is not present in the loadable extension, also try an entry point "sqlite3_X_init" where "X" is based on the shared library filename. This allows every extension to have a different entry point, which allows them to be statically linked with no code changes.
The shared library filename passed to sqlite3_load_extension() may omit the filename suffix, and an appropriate architecture-dependent suffix (".so", ".dylib", or ".dll") will be added automatically.
Added many new loadable extensions to the source tree, including amatch, closure, fuzzer, ieee754, nextchar, regexp, spellfix, and wholenumber. See header comments on each extension source file for further information about what that extension does.
Enhance FTS3 to avoid using excess stack space when there are a huge number of terms on the right-hand side of the MATCH operator. A side-effect of this change is that the MATCH operator can only accommodate 12 NEAR operators at a time.
Enhance the fts4aux virtual table so that it can be a TEMP table.
Added the fts3tokenize virtual table to the full-text search logic.
Query planner enhancement: Use the transitive property of constraints to move constraints into the outer loops of a join whenever possible, thereby reducing the amount of work that needs to occur in inner loops.
Discontinue the use of posix_fallocate() on unix, as it does not work on all filesystems.
Improved tracing and debugging facilities in the Windows VFS.
Bug fix: Fix a potential database corruption bug in shared cache mode when one database connection is closed while another is in the middle of a write transaction.
Bug fix: Only consider AS names from the result set as candidates for resolving identifiers in the WHERE clause if there are no other matches. In the ORDER BY clause, AS names take priority over any column names.
Bug fix: Do not allow a virtual table to cancel the ORDER BY clause unless all outer loops are guaranteed to return no more than one row result.
Bug fix: Do not suppress the ORDER BY clause on a virtual table query if an IN constraint is used.
Bug fix: The command-line shell gives an exit code of 0 when terminated using the ".quit" command.
Bug fix: Make sure PRAGMA statements appear in sqlite3_trace() output.
Bug fix: When a compound query that uses an ORDER BY clause with a COLLATE operator, make sure that the sorting occurs according to the specified collation and that the comparisons associate with the compound query use the native collation.
Bug fix: Makes sure the authorizer callback gets a valid pointer to the string "ROWID" for the column-name parameter when doing an UPDATE that changes the rowid.
Bug fix: Do not move WHERE clause terms inside OR expressions that are contained within an ON clause of a LEFT JOIN.
Bug fix: Make sure an error is always reported when attempting to preform an operation that requires a collating sequence that is missing.
Upstream changes:
Changes in DBI 1.627 - 16th May 2013
Fixed VERSION regression in DBI::SQL::Nano [Tim Bunce]
Changes in DBI 1.626 - 15th May 2013
Fixed pod text/link was reversed in a few cases RT#85168
[H.Merijn Brand]
Handle aliasing of STORE'd attributes in DBI::DBD::SqlEngine
[Jens Rehsack]
Updated repository URI to git [Jens Rehsack]
Fixed skip() count arg in t/48dbi_dbd_sqlengine.t [Tim Bunce]
on client. Fixes situations where a binary mysql55-server package picks up
mysql56-client as the best dependency because of the missing upper limit.
Bump PKGREVISION.
Upstream changes:
0.53 2013-03-20T06:04:34Z
- Fixed some documentation typos, thanks to Mike O'Regan (Issue #22).
- Fixed issue where an connection failure caused an unhelpful error
(Issue #26).
What's new in psycopg 2.5
-------------------------
New features:
- Added :ref:`JSON adaptation <adapt-json>`.
- Added :ref:`support for PostgreSQL 9.2 range types <adapt-range>`.
- `connection` and `cursor` objects can be used in ``with`` statements
as context managers as specified by recent |DBAPI|_ extension.
- Added `~psycopg2.extensions.Diagnostics` object to get extended info
from a database error. Many thanks to Matthew Woodcraft for the
implementation (🎫`#149`).
- Added `connection.cursor_factory` attribute to customize the default
object returned by `~connection.cursor()`.
- Added support for backward scrollable cursors. Thanks to Jon Nelson
for the initial patch (🎫`#108`).
- Added a simple way to :ref:`customize casting of composite types
<adapt-composite>` into Python objects other than namedtuples.
Many thanks to Ronan Dunklau and Tobias Oberstein for the feature
development.
- `connection.reset()` implemented using :sql:`DISCARD ALL` on server
versions supporting it.
Bug fixes:
- Properly cleanup memory of broken connections (🎫`#148`).
- Fixed bad interaction of ``setup.py`` with other dependencies in
Distribute projects on Python 3 (🎫`#153`).
Other changes:
- Added support for Python 3.3.
- Dropped support for Python 2.4. Please use Psycopg 2.4.x if you need it.
- `~psycopg2.errorcodes` map updated to PostgreSQL 9.2.
- Dropped Zope adapter from source repository. ZPsycopgDA now has its own
project at <http://github.com/psycopg/ZPsycopgDA>.
- 0.46 | 2013-03-14
- bugfix: handle connection options w/o "backup" env var
Previously, ‘pg-conndefaults’ expected every option to have a
backup env var (e.g., option ‘#:host’ and env var ‘PGHOST’).
For later versions of PostgreSQL which no longer maintain this
1:1 correspondance, Guile-PG would segfault.
Now, in such cases, the value associated w/ the key ‘#:envvar’
in the alist returned by ‘pg-conndefaults’ is ‘#f’.
- planned retirement
- procedure ‘(database postgres) pg-getline’
- procedure ‘(database postgres) pg-getlineasync’
- procedure ‘(database postgres) pg-putline’
- procedure ‘(database postgres) pg-endcopy’
These procedures are obsoleted by ‘pg-get-copy-data’ and
‘pg-put-copy-data’. They WILL BE REMOVED by 2013-12-31.
Actually, the first two were originally -- in Guile-PG 0.41
(2011-09-29) -- planned to be removed by 2012-12-31.
Support has been extended for solidarity w/ the latter two.
- bootstrap tools upgraded
- GNU Texinfo 5.1
Copyright (C) 2002-2013 Thien-Thi Nguyen
Copying and distribution of this file, with or without modification,
are permitted provided the copyright notice and this notice are preserved.
Update DEPENDS
Upstream changes:
0.08250 2013-04-29 22:00 (UTC)
* New Features / Changes
- Rewrite from scratch the result constructor codepath - many bugfixes
and performance improvements (the current codebase is now capable of
outperforming both DBIx::DataModel and Rose::DB::Object on some
workloads). Some notable benefits:
- Multiple has_many prefetch
- Partial prefetch - you now can select only columns you are
interested in, while preserving the collapse functionality
(collapse is now exposed as a first-class API attribute)
- Prefetch of resultsets with arbitrary order
(RT#54949, RT#74024, RT#74584)
- Prefetch no longer inserts right-side table order_by clauses
(massively helps the deficient MySQL optimizer)
- Prefetch with limit on right-side ordered resultsets now works
correctly (via aggregated grouping)
- No longer order the insides of a complex prefetch subquery,
unless required to satisfy a limit
- Stop erroneously considering order_by criteria from a join under
distinct => 1 (the distinct should apply to the main source only)
- Massively optimize codepath around ->cursor(), over 10x speedup
on some iterating workloads.
- Support standalone \[ $sql, $value ] in literal SQL with bind
specifications: \[ '? + ?', 42, 69 ] is now equivalent to
\[ '? + ?', [ {} => 42 ], [ {} => 69 ] ]
- Changing the result_class of a ResultSet in progress is now
explicitly forbidden. The behavior was undefined before, and
would result in wildly differing outcomes depending on $rs
attributes.
- Deprecate returning of prefetched 'filter' rels as part of
get_columns() and get_inflated_columns() data
- Invoking get_inflated_columns() no longer fires get_columns() but
instead retrieves data from individual non-inflatable columns via
get_column()
- Emit a warning on incorrect use of nullable columns within a
primary key
- Limited checks are performed on whether columns without declared
is_nullable => 1 metadata do in fact sometimes fetch NULLs from
the database (the check is currently very limited and is performed
only on resultset collapse when the alternative is rather worse)
* Fixes
- Fix _dbi_attrs_for_bind() being called befor DBI has been loaded
(regression in 0.08210)
- Fix update/delete operations on resultsets *joining* the updated
table failing on MySQL. Resolves oversights in the fixes for
RT#81378 and RT#81897
- Fix open cursors silently resetting when inherited across a fork
or a thread
- Properly support "MySQL-style" left-side group_by with prefetch
- Fix $grouped_rs->get_column($col)->func($func) producing incorrect
SQL (RT#81127)
- Stop Sybase ASE storage from generating invalid SQL in subselects
when a limit without offset is encountered
- Even more robust behavior of GenericSubQuery limit dialect
- Make sure deployment_statements() and cursor_class() are called on
a resolved storage subclass
* Misc
- Fix tests failing due to unspecified resultset retrieval order
(test suite now will pass with newest SQLite libs)
0.08210 2013-04-04 15:30 (UTC)
* New Features / Changes
- Officially deprecate the 'cols' and 'include_columns' resultset
attributes
- Remove ::Storage::DBI::sth() deprecated in 0.08191
* Fixes
- Work around a *critical* bug with potential for data loss in
DBD::SQLite - RT#79576
- Audit and correct potential bugs associated with braindead reuse
of $1 on unsuccessful matches
- Fix incorrect warning/exception originator reported by carp*() and
throw_exception()
0.08209 2013-03-01 12:56 (UTC)
* New Features / Changes
- Debugging aid - warn on invalid result objects created by what
seems like an invalid inheritance hierarchy
* Fixes
- Fix another embarrassing regression preventing correct refining of
the search criteria on a prefetched relation (broken in 0.08205)
- Fix incorrect callsite reporting by DBIC::Carp
0.08208 2013-02-20 09:56 (UTC)
* New Features / Changes
- A bunch of nonsensically named arguments to the SQL::Translator
parser have been marked as deprecated (while still fully
supported)
* Fixes
- Fix duplicated selected columns when calling 'count' when a same
aggregate function is used more than once in a 'having' clause
(RT#83305)
- Prevent SQL::Translator::Producer::YAML from seeing the $dbh
in a potentially connected $schema instance (RT#75394)
* Misc
- Fixup our distbuilding process to stop creating world-writable
tarball contents (implicitly fixes RT#83084)
- Added strict and warnings tests for all lib and test files
0.08206 2013-02-08
* Fixes
- Fix dbh_do() failing to properly reconnect (regression in 0.08205)
- Extra sanity check of a fresh DBI handle ($dbh). Fixes
connection coderefs returning garbage (seen in the wild)
* Misc
- Only allow known globals in SQL::Translator leak allowance
- General cleanup of error message texts - quote names/identifiers
for easier reading
- Stop t/52leaks.t from failing when AUTOMATED_TESTING=1
UPstream changes:
Changes in DBI 1.625 (svn r15595) 28th March 2013
Fixed heap-use-after-free during global destruction RT#75614
thanks to Reini Urban.
Changes in DBI 1.624 (svn r15576) 22nd March 2013
Fixed Gofer for hash randomization in perl 5.17.10+ RT#84146
Clarify docs for can() re RT#83207
Changes from previous:
----------------------
2.0008 Jun 17 13:00:00 2012 PDT
- Arrays and hashes retrieved from a database no longer create
circular references (RT#77746).
2.0007 May 27 19:35:00 2012 PDT
- Include one-line descriptions of each POD page after the name.
Thanks to Yves Agostini for the patch and Gregor Herrmann for
submitting it (RT#76378).
- t/98_pod.t: Skip tests if Pod::Simple 3.21 is installed
(RT#77419).
2.0006 Apr 1 17:15:00 2012 PDT
- Er, try harder to get t/27_filehandle.t to work under TB2.
2.0005 Mar 25 13:05:00 2012 PDT
- t/27_filehandle.t has been fixed again.
Version 1.3.0
-------------
HTTP Interface:
* No longer rewrites the X-CouchDB-Requested-Path during recursive calls to the
rewriter.
* Limit recursion depth in the URL rewriter. Defaults to a maximum of 100
invocations but is configurable.
* Fix _session for IE7.
* Added Server-Sent Events protocol to db changes API. See
http://www.w3.org/TR/eventsource/ for details.
* Make password hashing synchronous when using the /_config/admins API.
* Include user name in show/list ETags.
* Experimental support for Cross-Origin Resource Sharing (CORS). See
http://www.w3.org/TR/cors/ for details.
Replicator:
* The replicator will use a new server-wide UUID in checkpoint IDs to
improve the chances of an efficient resume.
Storage System:
* Fixed unnecessary conflict when deleting and creating a
document in the same batch.
View Server:
* Additional response headers may be varied prior to send().
* GetRow() is now side-effect free.
Futon:
* Disabled the link to the Futon test suite. These tests were causing problems
when run from a browser, and are now available via the CLI instead.
* Added view request duration to Futon.
* Disable buttons for actions that the user doesn't have permissions to.
Security:
* Passwords are now hashed using the PBKDF2 algorithm with a configurable work
factor.
Test Suite:
* Moved the JS test suite to the CLI.
* Improved tracebacks printed by the JS CLI tests.
* Improved the reliability of a number of tests.
UUID Algorithms:
* Added the utc_id algorithm.
URL Rewriter & Vhosts:
* Database name is encoded during rewriting (allowing embedded /'s, etc).
* Reset rewrite counter on new request, avoiding unnecessary request failures
due to bogus rewrite limit reports.
Build System:
* C/C++ compiler detection has been improved.
* Autoconf v2.63 is now required if building from Git checkout directly. See
DEVELOPERS file for more details.
* Fixed issue in couchdb script where stopped status returns before process
exits.
Version 1.2.2
-------------
HTTP Interface:
* Reset rewrite counter on new request, avoiding unnecessary request failures
due to bogus rewrite limit reports.
Build System:
* Fixed issue in couchdb script where stopped status returns before process
exits.
form fixed `0' to main Python distribution version (PY_DISTVERSION)
so that packages will be updated with main Python distribution update.
no objection in tech-pkg@ for a week.
Replication: The functions GTID_SUBTRACT() and GTID_SUBSET() were formerly available in libmysqld only when it was built with replication support. Now these functions are always available when using this library, regardless of how it was built.
MySQL no longer uses the default OpenSSL compression.
There is now a distinct error code (ER_MUST_CHANGE_PASSWORD_LOGIN) for the error sent by the server to a client authenticating with an expired password.
mysql_config_editor now supports --port and --socket options for specifying TCP/IP port number and Unix socket file name.
mysqlcheck has a new --skip-database option. The option value is the name of a database (case sensitive) for which checks should be skipped.
mysql_upgrade uses this option to upgrade the system tables in the mysql database before tables in other databases: It upgrade the mysql database, then all databases except the mysql database. This avoids problems that can occur if user tables are upgraded before the system tables.
The only supported value for the innodb_mirrored_log_groups system variable is 1, so this variable is now deprecated. Setting it to 1 at startup results in a warning. Setting it to a value other than 1 at startup results in an error and the server exits. This variable will be removed in a future release.
have ss(8) which does the same thing.
(With out netstat the build stalls in an endless for loop.)
So add a hack that creates a tool named netstat from ss.
From maintainer Nicolas Thauvin via mail to pkgsrc-users.
There are two notable upstream changes :
- the tarball is now hosted on pgbuildfarm.org instead of pgfoundry
- the client has now support for modules allowing to control the build
Fix a bug (present since version 3.7.13) that could result in database corruption on windows if two or more processes try to access the same database file at the same time and immediately after third process crashed in the middle of committing to that same file.
Virtuoso is a multi-model data server that delivers a platform-agnostic
solution for data management, access and integration.
Services offered include:
* relational data management
* RDF data management
* XML data management
* free text content management & full text indexing
* document web server
* linked data server
* web application server
* web services deployment (SOAP or REST)
Sqitch is a VCS-aware SQL change management application. What makes
it different from your typical migration-style approaches? A few
things:
* No opinions
* Native scripting
* VCS integration
* Dependency resolution
* No numbering
* Bundling
* Reduced duplication
File too long (should be no more than 24 lines).
Line too long (should be no more than 80 characters).
Trailing empty lines.
Trailing white-space.
Trucated the long files as best as possible while preserving the most info
contained in them.
COMMENT should not be longer than 70 characters.
COMMENT should not begin with 'A'.
COMMENT should not begin with 'An'.
COMMENT should not begin with 'a'.
COMMENT should not end with a period.
COMMENT should start with a capital letter.
pkglint warnings. Some files also got minor formatting, spelling, and style
corrections.
A major security issue fixed in this release, CVE-2013-1899, makes it possible for a connection request containing a database name that begins with "-" to be crafted that can damage or destroy files within a server's data directory. Anyone with access to the port the PostgreSQL server listens on can initiate this request.
Two lesser security fixes are also included in this release: CVE-2013-1900, wherein random numbers generated by contrib/pgcrypto functions may be easy for another database user to guess, and CVE-2013-1901, which mistakenly allows an unprivileged user to run commands that could interfere with in-progress backups. Finally, this release fixes two security issues with the graphical installers for Linux and Mac OS X: insecure passing of superuser passwords to a script, CVE-2013-1903 and the use of predictable filenames in /tmp CVE-2013-1902.
This release contains one major and a number of minor security fixes. It fixes a possible vulnerability to a denial-of-service attack by use of a carefully-crafted set of hash keys, a segmentation fault when reading or writing strings greater than 2^31 bytes in size, and a memory leak in Encode.xs's UTF-8 encoding implementation.
* There was a mistake in patches/patch-lib_functions.php, droping "ssha"
password type.
2012-10-01 Release 1.2.3 master RELEASE-1.2.3
2012-10-01 Update template to show multiselect values
2012-09-06 Language update from launchpad for 1.2.3 (also see #30)
2012-09-05 SF Bug #3531956 - Search / Show Attributes must be lowercase
2012-09-05 SF Bug #3518548 - Missing attributes on some custom forms
2012-09-05 SF Bug #3513210 - Export to VCARD only exports the last entry in the list
2012-09-05 SF Bug #3510648 - Cannot copy between servers
2012-09-05 SF Bug #3510114 - Unable to check passwords when samba hashes are in lowercase
2012-09-05 SF Bug #3452416 - templates <order> non-functional
2012-09-05 SF Bug #3427748 - value id is ignored in select attribute
2012-09-04 SF Bug #3448530 - Treat krbExtraData and krbPrincipalKe as binary
2012-09-02 SF Bug #3497660 - XSS flaws via 'export', 'add_value_form' and 'dn' variables
2012-09-02 SF Bug #3426575 - clicking 'logout' does not unset _SESSION['ACTIVITY']
2012-09-01 SF Feature #3555472 - User-friendly items in entry chooser window.
2012-09-01 SF Feature #3509651 - Add support for SHA512 with OpenLDAP
2012-08-29 SF Patch #3469148 - Display mass edit actions as buttons
2012-01-24 SF Bug #3477910 - XSS vulnerability in query
Changes from previous:
----------------------
0.002103 2012-12-23 17:42:36 CST6CDT
- Lazily load deps for autotable
- Remove HERE BE DRAGONS warning, this module is totally stable \o/
0.002102 2012-11-17 15:43:18 CST6CDT
- Put MetaYAML back in dist
* Fix for a bug in the ORDER BY optimizer that was introduced in version 3.7.15 which would sometimes optimize out the sorting step when in fact the sort was required. Ticket a179fe7465
* Fix a long-standing bug in the CAST expression that would recognize UTF16 characters as digits even if their most-significant-byte was not zero. Ticket 689137afb6da41.
* Fix a bug in the NEAR operator of FTS3 when applied to subfields. Ticket 38b1ae018f.
* Fix a long-standing bug in the storage engine that would (very rarely) cause a spurious report of an SQLITE_CORRUPT error but which was otherwise harmless. Ticket 6bfb98dfc0c.
* The SQLITE_OMIT_MERGE_SORT option has been removed. The merge sorter is now a required component of SQLite.
* Fixed lots of spelling errors in the source-code comments
- PEAR::isError() -> MDB2::isError(), Bug #19491.
- PEAR::loadExtension() -> extension_loaded(), Bug #19583.
- Fix Bug #19262. Updates conditional stagements to use logical operators to
include MDB2_FETCHMODE_OBJECT where appropriate. Was broken in r321197.
- Fixed createIndex not using quoteIdentifier in SQLite driver
- Have dropTable() return MDB2_OK on success, as documented (bug 19199)
- Have dropIndex() return MDB2_OK on success, as documented (bug 19198)
- Have vacuum() return MDB2_OK on success, as documented (bug 19196)
- Have createIndex() return MDB2_OK on success, as documented (bug 19195)
- Have dropConstraint() return MDB2_OK on success, as documented (bug 19194)
- Have createConstraint() return MDB2_OK on success, as documented (bug 19193)
- Have dropSequence() return MDB2_OK on success, as documented (bug 19191).
- FETCHMODE constants are NOT bitwise.
- fixed bug #18203: Type introspection breaks with associative arrays if names
are identical (patch by Peter Bex)
- request #18316: Add TINYINT to list of coltypes in
MDB2_Driver_Reverse_sqlite [brotherli]
- fixed bug #16275: split() is deprecated in PHP 5.3
- request #18316: Add TINYINT to list of coltypes in
MDB2_Driver_Reverse_sqlite [brotherli]
Changelog:
- Remove assignment by reference, Bug #19585.
- PEAR::isError() -> MDB2::isError(), Bug #19491.
- PEAR::loadExtension() -> extension_loaded(), Bug #19583.
- Fixed boolean type conversion for non-boolean types
- Fix Bug #19262. Updates conditional stagements to use logical operators to
include MDB2_FETCHMODE_OBJECT where appropriate. Was broken in r321197.
- Request #12931 Add cascading to dropTable?
- Have truncateTable() return MDB2_OK on success, as documented (bug 19201)
- Have vacuum() return MDB2_OK on success, as documented (bug 19196)
- Have dropConstraint() return MDB2_OK on success, as documented (bug 19194)
- Have createSequence() return MDB2_OK on success, as documented (bug 19192)
- Have dropSequence() return MDB2_OK on success, as documented (bug 19191).
- Make setOption('result_wrap_class') actually useful by changing the default
value of $result_wrap_class parameters from false to true.
- Have pgsql only read LOB from file if lob_allow_url_include (bringing it in
line with other drivers).
- FETCHMODE constants are NOT bitwise.
- fixed bug #18203: Type introspection breaks with associative arrays if names
are identical (patch by Peter Bex)
- fixed bug #17890: Improper use of array_search in prepare function
[fletcherj]
- fixed bug #17890: Improper use of array_search in prepare function
[fletcherj]
open todo items:
- enable pg_execute() once issues with bytea column are resolved
- use pg_result_error_field() to handle localized error messages (Request
#7059)
- add option to use unnamed prepared statements (see
http://www.postgresql.org/docs/current/static/protocol-flow.html
"Extended Query")
Changelog:
- Make varchar_max_length property public, Bug #19582.
- Revert 327099 by afz, caused "Notice: Undefined index: charset on line 1003"
- PEAR::isError() -> MDB2::isError(), Bug #19491.
- PEAR::loadExtension() -> extension_loaded(), Bug #19583.
- max value for VARCHAR is 65535 but if used multi-bytes (UTF8) so it is 21844, because UTF8 string takes 3bytes
- Fix Bug #19262. Updates conditional stagements to use logical operators to
include MDB2_FETCHMODE_OBJECT where appropriate. Was broken in r321197.
- Have truncateTable() return MDB2_OK on success, as documented (bug 19201)
- Have alterTable() return MDB2_OK on success, as documented (bug 19200)
- Have dropIndex() return MDB2_OK on success, as documented (bug 19198)
- Have vacuum() return MDB2_OK on success, as documented (bug 19196)
- Have createIndex() return MDB2_OK on success, as documented (bug 19195)
- Have dropConstraint() return MDB2_OK on success, as documented (bug 19194)
- Have dropSequence() return MDB2_OK on success, as documented (bug 19191).
- Make setOption('result_wrap_class') actually useful by changing the default
value of $result_wrap_class parameters from false to true.
- Obtain error information in _doQuery() because standaloneQuery() throws off
$this->connection.
- FETCHMODE constants are NOT bitwise.
- Make $sql_comments public (was before, used in tests, no real harm).
- Property visibility
- boolean data type
- fixed bug #17984: Error is not reported when mysqli_stmt_bind_param() fails
[dennylin93]
- fixed bug #18057: Result of getDeclaration() can have invalid syntax
[hschletz]
- request #18068: mapNativeDatatype() returns decimal places also for 'float'
mdb2type
- fixed bug #18203: Type introspection breaks with associative arrays if names
are identical (patch by Peter Bex)
- fixed bug #17892: removed debug message [pdt256]
- fixed bug #17892: removed debug message [pdt256]
- fixed bug #17984: Error is not reported when mysqli_stmt_bind_param() fails
[dennylin93]
- fixed bug #18057: Result of getDeclaration() can have invalid syntax
[hschletz]
- request #18068: mapNativeDatatype() returns decimal places also for 'float'
mdb2type
open todo items:
- use a trigger to emulate setting default now()
Changelog:
- Make varchar_max_length property public, Bug #19582.
- Revert 327099 by afz, caused "Notice: Undefined index: charset on line 1003"
- PEAR::isError() -> MDB2::isError(), Bug #19491.
- PEAR::loadExtension() -> extension_loaded(), Bug #19583.
- max value for VARCHAR is 65535 but if used multi-bytes (UTF8) so it is 21844,
because UTF8 string takes 3bytes
- Fix Bug #19262. Updates conditional stagements to use logical operators to
include MDB2_FETCHMODE_OBJECT where appropriate. Was broken in r321197.
- Have truncateTable() return MDB2_OK on success, as documented (bug 19201)
- Have alterTable() return MDB2_OK on success, as documented (bug 19200)
- Have dropIndex() return MDB2_OK on success, as documented (bug 19198)
- Have vacuum() return MDB2_OK on success, as documented (bug 19196)
- Have createIndex() return MDB2_OK on success, as documented (bug 19195)
- Have dropConstraint() return MDB2_OK on success, as documented (bug 19194)
- Have dropSequence() return MDB2_OK on success, as documented (bug 19191).
- Make setOption('result_wrap_class') actually useful by changing the default
value of $result_wrap_class parameters from false to true.
- Obtain error information in _doQuery() because standaloneQuery() throws off
$this->connection.
- FETCHMODE constants are NOT bitwise.
- Make $sql_comments public (was before, used in tests, no real harm).
- Property visibility
- boolean data type
- fixed bug #17984: Error is not reported when mysqli_stmt_bind_param() fails
[dennylin93]
- fixed bug #18057: Result of getDeclaration() can have invalid syntax
[hschletz]
- request #18068: mapNativeDatatype() returns decimal places also for 'float'
mdb2type
- fixed bug #18203: Type introspection breaks with associative arrays if names
are identical (patch by Peter Bex)
- fixed bug #17892: removed debug message [pdt256]
- fixed bug #18057: Result of getDeclaration() can have invalid syntax
[hschletz]
- request #18068: mapNativeDatatype() returns decimal places also for 'float'
mdb2type
open todo items:
- use a trigger to emulate setting default now()
shared-mime-info 1.1 (2012-02-13)
* Mime-type changes:
- Add application/x-ccmx
- Add zz-application/zz-winassoc-* aliases
- Make application/x-xz-compressed-tar a subclass of application/x-xz
- Add DTS and DTS-HD mime-types
- Add test for PPM bug
- Fix comment and add glob for application/pkcs7-mime
- Add application/x-qtiplot mime-type
- Add AMZ (AmazonMP3 Download File) mime-type
- Add separate mime-type for Apple broken PNGs
- Add *.mk and *.mak text/x-makefile globs
- Match application/vnd.palm to IANA standard
- Use IANA registered application/gzip instead of x-gzip
- Add application/gml+xml
- Fix Scream Tracker instrument magic
- Add application/x-gtk-builder type
- Add magic for v1 and v2 XCF files
- Add LZMA test file
- Fix some globs for OGG files
- Move *.taz from application/x-compressed-tar to application/x-tarz
- Add some sub-class-of tags for compressed files
- Add *.tb2 as a glob for application/x-bzip-compressed-tar
- Add support for DOS EPS files
- Add *.ar archives to the test suite
- Add xlr mime-type
- Add application/vnd.lotus-wordpro
- Put bz2 patterns before bz ones for bzip-related mimetypes
- Add simple magic for text/x-gettext-translation-template
- Add test case for application/x-gettext-translation
- Add mime-type for source RPMs
- Add AMR audio test
- Add test case for TTF fonts
- Add Woff font mime-type
- Add FLTK acronym
- Add application/ics as an alias for text/calendar
- Add RAR acronym
- Add dicomdir glob
- Add *.di as a glob for D source files
- Add magic for MNG animations
- Add magic for PICT v2 images
- Add JNLP file to the test suite
- Add support for the AVF AVI container variant
- Add EMF and WMF aliases
- Improve magic of uncompressed TGA files
- Add application/winhlp
- Add text/x-uuencode
- Add MHTML mime-type
- Make the main docbook mime-type be application/x-docbook+xml
- Add application/x-lzh-compressed as alias to application/x-lha
- Add IFF super-type
- Split off the AAC mime-type from the M4A one
- Add text/x-modelica mime-type
- Add magic for GNU gettext message catalogs (.mo)
* Specification changes:
- Fix mimetype names used as examples
- Document that the first extension is the main one
- Fix missing plural
* Honor NOCONFIGURE=1
* Allow builders to not run make check by default
* Fix build for platforms with executable extensions
* Disable checks when cross compiling
* Use non-installed update-mime-database in install-data-hook
* Use native update-mime-database for install when cross compiling
* Add a local-test target to print mime info
Add a patch from upstream to avoid segfaulting on null PQ options.
- 0.45 | 2013-03-10
- support for "make installcheck"
This does "make check" at its core, so the same env vars apply.
Obviously, you should do "make install" first for sane results.
- bootstrap tools upgraded
- GNU Autoconf 2.69
- GNU Automake 1.13.1
- Guile-BAUX 20121120.1242.e233fad
- SNUGGLE 0.2
- GNU Texinfo 5.0
=== 3.45.0 (2013-03-01)
* Remove bad model typecasting of money type on PostgreSQL (jeremyevans) (#624)
* Use simplecov instead of rcov for coverage testing on 1.9+ (jeremyevans)
* Make the Database#quote_identifier method public (jeremyevans)
* Make PostgreSQL metadata parsing handle tables with the same name in
multiple schemas (jeremyevans)
* Switch query extension to use a proxy instead of Object#extend (chanks,
jeremyevans)
* Remove Dataset#def_mutiation_method instance method (jeremyevans)
* Make foreign key parsing on MySQL not pick up foreign keys in other
databases (jeremyevans)
* Allow per-instance overrides of Postgres.force_standard_strings and
.client_min_messages (jeremyevans) (#618)
* Add Sequel.tzinfo_disambiguator= to the named_timezones plugin for
automatically handling TZInfo::AmbiguousTime exceptions (jeremyevans) (#616)
* Add Dataset#escape_like, for escaping LIKE metacharacters (jeremyevans)
(#614)
* The LIKE operators now use an explicit ESCAPE '\' clause for similar
behavior across databases (jeremyevans)
* Make Database#tables and #views accept a :qualify option on PostgreSQL to
return qualified identifiers (jeremyevans)
* Make json_serializer and xml_serializer plugins secure by default
(jeremyevans)
* Address JSON.parse vulnerabilities (jeremyevans)
* Fix Dataset#from_self! to no longer create a self-referential dataset
(jeremyevans)
* Use SQLSTATE or database error codes if available instead of regexp parsing
for more specific DatabaseErrors (jeremyevans)
* Add unlimited_update plugin to work around MySQL warning in replicated
environments (jeremyevans)
* Add the :retry_on and :num_retries transaction options for automatically
retrying transactions (jeremyevans)
* Raise serialization failures/deadlocks as Sequel::SerializationFailure
exceptions (jeremyevans)
* Support transaction isolation levels on Oracle and DB2 (jeremyevans)
* Support transaction isolation levels when using the JDBC transaction support
(jeremyevans)
Changes in 1.2.1:
* Fixed CVE-2012-5641: Apache CouchDB Information disclosure via unescaped
backslashes in URLs on Windows
* Fixed CVE-2012-5649: Apache CouchDB JSONP arbitrary code execution with Adobe
Flash
* Fixed CVE-2012-5650: Apache CouchDB DOM based Cross-Site Scripting via Futon
UI
* Fix various bugs in the URL rewriter when recursion is involved.
* Fix couchdb start script.
* Futon: Disable buttons that aren't available for the logged-in user.
* Fix potential replication timeouts.
* Change use of signals to avoid broken view groups.
This extension provides an ODBC v3 driver for PDO. It supports unixODBC
and IBM DB2 libraries, and will support more in future releases.
In pkgsrc we only support unixODBC currently.
* Take MAINTAINERship, ok by schmonz@.
* Libtoolized.
* Fix typo in variable name.
* Set LICENSE as public-domain.
Changelog:
tinycdb-0.78 2012-05-11
- bugfix release:
o fixed >2Gb file size prob on 32bit platform
o fixed handling of files >=4Gb
o fixed a few compiler warnings
- introduce $(LD) and $(LDFLAGS), and also $(CDEFS) in Makefile
- bug #3779 [core] Problem with backslash in enum fields
- bug #3816 Missing server_processlist.php
- bug #3821 Safari: white page
- Correct detection of the Chrome browser
- bug #3593604 [status] Erroneous advisor rule
- bug #3596070 [status] localStorage broken in server status monitor
- bug #3598736 [routines] Editing a procedure with special characters
- bug #3600322 [core] Visualize GIS data throws Fatal Error
- bug #3599362 [core] Double-escaped error message
- bug #3776 [cookies] Login without auth on second server
## Rails 3.2.12 (unreleased) ##
* Quote numeric values being compared to non-numeric columns. Otherwise,
in some database, the string column values will be coerced to a numeric
allowing 0, 0.0 or false to match any string starting with a non-digit.
Example:
App.where(apikey: 0) # => SELECT * FROM users WHERE apikey = '0'
*Dylan Smith*
## Rails 3.1.11 (unreleased) ##
* Quote numeric values being compared to non-numeric columns. Otherwise,
in some database, the string column values will be coerced to a numeric
allowing 0, 0.0 or false to match any string starting with a non-digit.
Example:
App.where(apikey: 0) # => SELECT * FROM users WHERE apikey = '0'
*Dylan Smith*
Changes from previous
=====================
4.0.1
- Support for REPEATABLE READ isolation level.
- Build fix for OS X.
- Build fixes for clang++ 3.2.
- Build fixes for clang++ 3.0.
- Build fix for MinGW.
- Build fix for BSD (and possibly other grep flavours).
- Compatibility typedefs: pqxx::result::tuple & pqxx::result::field.
- Supports C++11.
- Fixed failure to detect some integer overflows during conversion.
4.0
- API change: noticers are gone! Use errorhandlers to capture error output.
- API change: tablereaders and tablewriters are gone; they weren't safe.
- API change: prepared statements are now weakly-typed, and much simpler.
- API change: fields and tuples are now stand-alone classes in ::pqxx.
- API change: thread-safety field have_strerror_r is now have_safe_strerror.
- API change: notify_listener has been replaced with notification_receiver.
- notification_receiver takes a payload parameter.
- Easier Visual C++ setup.
- Absolutely requires a libpq version with PQescapeStringConn.
- Absolutely requires libpq 8.0 or better.
- Changes for C++0x.
- Supports clang++.
- Visual C++ makefiles now support new-style unit tests.
- Sample headers for more recent Visual Studio versions.
- Fixes binary-data escaping problems with postgres 9.0.
- Fixes problems with binary-string handling and escaping.
- Fixes compatibility problems between 9.x libpq and 7.x backend.
- quote_name to escape SQL identifiers for use in queries.
- syntax_error reports error's approximate location in the query.
- On Windows, now uses ws2_32 instead of wsock32.
- Various Windows build fixes.
- Updated for gcc 4.6.0.
- configure script supports --enable-documentation/--disable-documentation.
- Streamlined test/release toolchain.
3.1
- Shared libraries are now versioned by ABI: 3.1 instead of 3.1.0 etc.
- Threading behaviour is now documented, and can be queried.
- Version information available at compile time.
- Supports parameterized statements.
- Result tuples now support slicing.
- Configure with --with-tr1=boost to use BOOST shared_ptr.
- String conversion now has its own header file.
- Supports read-only transactions.
- Fixed breakage with Solaris "make".
- Uses shared_ptr if available.
- binarystring::str() is no longer cached; no longer returns reference.
- Fixed problems in Visual C++ Makefile for test suite.
- Fixed problems with RPM packaging.
- Fixed build problem on RedHat/CentOS 5.
- Lets you check whether a prepared statement has been defined.
- "Varargs" prepared statements.
- Unnamed prepared statements now supported.
- Results have iterator as well as const_iterator.
- Rewrite of robusttransaction logic; may actually do its job now.
- Connections support async query cancel from signal handler or thread.
- More documentation for performance features.
3.0
- Website is now at http://pqxx.org/ (no redirects)
- Completely replaced cursor classes
- More helpful error messages on failed connections
- More detailed hierarchy of constraint-violation exception classes
- trigger is now called notify_listener, trigger header is now notify-listen
- New mixin base class pqxx_exception distinguishes libpqxx exception types
- Quoting is back! transaction_base::quote() & connection_base::quote()
- Several build & documentation problems with Visual C++ fixed
- Compile fixes for gcc 4.2, 4.3
- Compile fixes for Sun Studio Express 5.9
- Uses strlcpy() where available, instead of strncpy()
- Keeps better track of applicable text encodings
- Fixed bug with prepared statement parameters in separate C++ statements
- robusttransaction now works for multiple users
- Pipeline lets you cancel ongoing queries, e.g. because they run for too long
- Fixed broken escaping of binary values in tablewriter
- Floating-point types now represented with full precision
- Proper unit tests for new functionality
- New traits-based system for adding data types
- Floating-point infinities now supported
- Flushing/completing a pipeline now frees up the transaction for other use
- Completely reworked test suite, builds and runs much faster
- tablewriter supports writing of raw lines
2.6.9
- Removed old 1.x API (that means all identifiers with capital letters!)
- Tested with all current libpq versions and oldest/newest supported backends
- No longer have old OnCommit()/OnAbort()/OnDoubt() callbacks in transactor!
- Fixes failure when closing cursors with upper-case letters in their names
- Fixes bug when adding triggers to connections that aren't open yet
- Fixes bug when removing triggers
- Fixes small memory leak when preparing statements
- Fixes many problems with older backends
- Fixes bug in result::swap(): protocol versions were not swapped
- Some errors went undetected when using certain libpq versions
- Fixes prepared statements on new libpq versions talking to old backends
- Can estimate server version if libpq does not know how to obtain it
- Greatly reduced memory usage while escaping strings
- With Visual C++, creates lib/ directory if not already present
- Useful error messages when preparing statements
- Allows prepared statements to be registered explicitly
- Support for "long long" types; enable with PQXX_ALLOW_LONG_LONG macro
- Compilation errors for older libpq versions fixed
- Some new small utility classes for disabling notice processing etc.
- Result sets remember the queries that yielded them
- New test script, pqxx-fulltest, tests against all current postgres versions
- Connections can simulate failure
- Adds password encryption function
2.6.8
- Fixes bug: binary parameters to prepared statements truncated at nul bytes
- New, more specific exception types to distinguish errors from server
- Resolved serious problems with generated reference documentation
- Automatically detect Windows socket library with MinGW
- Windows "make" fixed to run from main directory, not win32
- Fixes "mktemp" problems on some BSD-based platforms
- pqxx-config is deprecated; use pkg-config instead
- On GNU/Linux, uses poll() instead of select() to avoid file descriptor limit
- Will provide server and protocol version information where available
- New cursor class, absolute_cursor
2.6.7
- New escape functions for binary data: transaction_base::esc_raw()
- Improved detection of socket libraries, especially for MinGW
- Works around bug in some versions of GNU grep 2.5.1
- Fixes problem with configuration headers
- Fixes PQprepare() detection
- Fixes incomplete Visual C++ Makefile
- Fixes compile error in workaround for older libpq versions
- Removes "rpath" link option
2.6.6
- New, encoding-safe string-escaping functions
- Upper-case letters now allowed in prepared-statement names
- Fixes crash in test005
- More Visual C++ improvements
- Removed collaboration diagrams from reference docs
- New templating system for generating Windows Makefiles etc.
2.6.5
- Visual C++ users: copy win32/common-sample to win32/common before editing it
- Should fix problems finding socket library on MinGW
- Even more work on Visual C++ problems
- Updated documentation for Visual C++ users
- Fixed bug in prepared statements (mostly visible on Visual C++)
- Nested transactions work harder to detect backend support
2.6.4
- Massively improved compatibility with Windows and Visual C++
- Fixed late initialization of "direct" connection state
- Fixed problem with initialization of connection capabilities
- Fixed configuration bug for libpq in nonstandard locations
- Sample configuration header for libpq found in PostgreSQL 8.1
2.6.3
- Radical rework of prepared statements; INCOMPATIBLE INTERFACE CHANGE!
- Dropped support for g++ 2.95
- Emulate prepared statements support on old libpq or old backend
- Bug fix: missing tutorial (release script now tests for this)
- Automatically links in socket library on Windows or Solaris, if needed
- Bug fix: check for std namespace didn't work
- Fixes for Cygwin/MSYS/MinGW
2.6.2
- Bug fix: connection state was not set up properly in some common cases
- Bug fix: headers were installed in "include" instead of "include/pqxx"
- Bug fix: sqlesc(string) broke with multibyte or multiple encodings
- namedclass is now used as a virtual base; affects all subclass constructors
- Initial implementation of subtransactions
- Detect more connection capabilities
- Standard library namespace can be set from configure script's command line
- Completely reworked connection hierarchy, with separate policy objects
- Clients can now define their own connection policies
- Paved the way for client-defined thread synchronization
- Now lives at http://thaiopensource.org/development/libpqxx/
2.6.1
- Hugely improved recognition of different strerror_r() versions
- Resolved link problems with gcc 4.0 and shared library
2.6.0
- New macro PQXX_SHARED defines whether to use/build libpqxx as shared library
- Robusttransaction compatible with PostgreSQL 8.1
- Infrastructure for querying connection/backend capabilities at runtime
- Greatly improved cursor support
- Connection reactivation can be inhibited explicitly
- Tries even harder to make sense of conflicting strerror_r() definitions
- Detects connection failures that libpq glosses over
- Reference documentation grouped into more coherent sections
- Assumes strerror() is threadsafe on systems that have no strerror_r()
- Now allows connection's socket number to be queried
- New internal_error class for libpqxx-internal errors
- With Visual C++, doesn't redefine NOMINMAX if it is defined already
- Several compatibility improvements for Visual C++
- Fixes and workarounds for HP-UX and HP aCC compiler
- Phased old cursor interface out of test suite; tests ported to new interface
- Added documentation on thread safety
- New thread safety model
- Large objects have functions to tell current position
- Minor updates to tutorial (somebody pay me and I'll do more :)
- No longer needs libpq-fs.h header
- Meaningful error messages for ambiguous string conversions fixed
2.5.6
- Support null parameters to prepared statements (use C-style char pointers)
=== 3.44.0 (2013-02-04)
* Speedup mysql2 adapter with identifier output method fetch speed by up to
50% (jeremyevans)
* Speedup tinytds adapter fetch speed by up to 60% (jeremyevans)
* Expand columns_introspection extension to consider cached schema values in
the database (jeremyevans)
* Expand columns_introspection extension to handle subselects (jeremyevans)
* Have #last and #paged_each for model datasets order by the model's primary
key by default (jeremyevans)
* Improve emulated offset support to handle subqueries (jeremyevans)
* Remove use of Object#extend from the eager_each plugin (jeremyevans)
* Add support for temporary views on SQLite and PostgreSQL via the :temp
option to create_view (chanks, jeremyevans)
* Emulate Database#create_or_replace_view if not supported directly
(jeremyevans)
* Add Dataset#paged_each, for processing entire datasets without keeping all
rows in memory (jeremyevans)
* Add Sequel::ConstraintViolation exception class and subclasses for easier
exception handling (jeremyevans)
* Fix use of identity_map plugin with many_to_many associations with right
composite keys (chanks) (#603)
* Increase virtual row performance by using a shared VirtualRow instance
(jeremyevans)
* Allow the :dataset association option to accept the association reflection
as an argument (jeremyevans)
* Improve association method performance by caching intermediate dataset
(jeremyevans)
The security issue fixed in this release, CVE-2013-0255, allows a previously authenticated user to crash the server by calling an internal function with invalid arguments. This issue was discovered by independent security researcher Sumit Soni this week and reported via Secunia SVCRP, and we are grateful for their efforts in making PostgreSQL more secure.
Today's update also fixes a performance regression which caused a decrease in throughput when using dynamic queries in stored procedures in version 9.2. Applications which use PL/pgSQL's EXECUTE are strongly affected by this regression and should be updated. Additionally, we have fixed intermittent crashes caused by CREATE/DROP INDEX CONCURRENTLY, and multiple minor issues with replication.
This release is expected to be the final update for version 8.3, which is now End-of-Life (EOL). Users of version 8.3 should plan to upgrade to a later version of PostgreSQL immediately. For more information, see our Versioning Policy.
This update release also contains fixes for many minor issues discovered and patched by the PostgreSQL community in the last two months, including:
* Prevent unnecessary table scans during vacuuming
* Prevent spurious cached plan error in PL/pgSQL
* Allow sub-SELECTs to be subscripted
* Prevent DROP OWNED from dropping databases or tablespaces
* Make ECPG use translated messages
* Allow PL/Python to use multi-table trigger functions (again) in 9.1 and 9.2
* Fix several activity log management issues on Windows
* Prevent autovacuum file truncation from being cancelled by deadlock_timeout
* Make extensions build with the .exe suffix automatically on Windows
* Fix concurrency issues with CREATE/DROP DATABASE
* Reject out-of-range values in to_date() conversion function
* Revert cost estimation for large indexes back to pre-9.2 behavior
* Make pg_basebackup tolerate timeline switches
* Cleanup leftover temp table entries during crash recovery
* Prevent infinite loop when COPY inserts a large tuple into a table with a large fillfactor
* Prevent integer overflow in dynahash creation
* Make pg_upgrade work with INVALID indexes
* Fix bugs in TYPE privileges
* Allow Contrib installchecks to run in their own databases
* Many documentation updates
* Add new timezone "FET".
* use ${PKGVERSION_NOREV} instead of LATEST as subdir, or it will be invalid
after new release.
* this site's redirect response is invalid, use canonical one and curl will not
be required anymore.
ChangeLog
Fixed RT#64330 - ping wipes out errstr (Martin J. Evans).
Fixed RT#75868 - DBD::Proxy shouldn't call connected() on the server.
Fixed RT#80474 - segfault in DESTROY with threads.
Fixed RT#81516 - Test failures due to hash randomisation in perl 5.17.6
thanks to Jens Rehsack and H.Merijn Brand and feedback on IRC
Fixed RT#81724 - Handle copy-on-write scalars (sprout)
Fixed unused variable / self-assignment compiler warnings.
Fixed default table_info in DBI::DBD::SqlEngine which passed NAMES
attribute instead of NAME to DBD::Sponge RT72343 (Martin J. Evans)
Corrected a spelling error thanks to Chris Sanders.
Corrected typo in DBI->installed_versions docs RT#78825
thanks to Jan Dubois.
Refactored table meta information management from DBD::File into
DBI::DBD::SqlEngine (H.Merijn Brand, Jens Rehsack)
Pevent undefined f_dir being used in opendir (H.Merijn Brand)
Added logic to force destruction of children before parents
during global destruction. See RT#75614.
Added DBD::File Plugin-Support for table names and data sources
(Jens Rehsack, #dbi Team)
Added new tests to 08keeperr for RT#64330
thanks to Kenichi Ishigaki.
Added extra internal handle type check, RT#79952
thanks to Reini Urban.
Added cubrid_ registered prefix for DBD::cubrid, RT#78453
Removed internal _not_impl method (Martin J. Evans).
NOTE: The "old-style" DBD::DBM attributes 'dbm_ext' and 'dbm_lockfile'
have been deprecated for several years and their use will now generate
a warning.
ChangeLog
1.98 Sat 29 Sep 2012
- When setting pragmas in void context, skip reading the changed
pragma back out of the database pointlessly.
- Removed legacy support for static ->delete('where ...')
ChangeLog:
0.08205 2013-01-22
* New Features / Changes
- The emulate_limit() arbitrary limit dialect emulation mechanism is
now deprecated, and will be removed when DBIx::Class migrates to
Data::Query
- Support for the source_bind_attributes() storage method has been
removed after a lengthy deprecation cycle
* Fixes
- When performing resultset update/delete only strip condition
qualifiers - leave the source name alone (RT#80015, RT#78844)
- Fix incorrect behavior on resultset update/delete invoked on
composite resultsets (e.g. as_subselect_rs)
- Fix update/delete operations referencing the updated table failing
on MySQL, due to its refusal to modify a table being directly
queried. As a workaround induce in-memory temp-table creation
(RT#81378, RT#81897)
- More robust behavior under heavily threaded environments - make
sure we do not have refaddr reuse in the global storage registry
- Fix failing test on 5.8 under Win32 (RT#81114)
- Fix hash-randomization test issues (RT#81638)
- Disallow erroneous calling of connect_info on a replicated storage
(RT#78436)
* Misc
- Improve the populate docs in ::Schema and ::ResultSet
- ::Storage::DBI::source_bind_attributes() removed as announced
on Jan 2011 in 0e773352a
0.08204 2012-11-08
* New Features / Changes
- SQLMaker now accepts \'literal' with the 'for' rs attribute as an
override to the builtin FOR options
* Fixes
- Fix unique constraint violations in Ordered.pm blanket movement
(RT#79773, rolls back short-sighted 5e6fde33e)
- Fix API mismatch between new_result() and new_related() (originally
broken by fea3d045)
- Fix test failure on perl 5.8
* Misc
- Much more extensive diagnostics when a new RDBMS/DSN combination is
encountered (RT#80431)
0.08203 2012-10-18
* Fixes
- Really fix inadequate $dbh->ping SQLite implementation (what shipped
in 0.08201 tickled other deficiencies in DBD::SQLite itself)
0.08202 2012-10-06
* Fixes
- Replace inadequate $dbh->ping SQLite implementation with our own,
fixes RT#78420
ChangeLog:
2012-08-28 Patrick Galbraith et open source community <patg at patg dot net> (4.022)
* Fixes for Win32 from Rom Hoelz (https://github.com/hoelzro)
* Pulling back in work for 4.021 that didn't get pushed and much other work from Chip Salzenberg (https://github.com/chipdude)
* Column info order fix from Tokuhiro Matsuno (https://github.com/tokuhirom)
* Fix AutoCommit comparison logic to avoid spurious commands to mysql from Matthew Horsfall (https://github.com/wolfsage)
* server_preapre can't bind placeholder on comment. from Misahiro Chiba (https://github.com/nihen)
* server_prepare; data is null, allocate big memory bug. from Misahiro Chiba (https://github.com/nihen)
* Add fix for CVE-2012-1114/CVE-2012-1115 from repository.
* Unset $_SESSION['ACTIVITY'] on logout from repository.
* Fix XSS in query from repository.
* Add support for SHA512 with OpenLDAP from repository.
Bump PKGREVISION.
Upstream changes:
1.958 2013-01-15T16:54:40Z
* Support for name constructor parameter, set connection name
* Add documentation for CLIENT * commands
* Improve reliability of Test::SpawnRedisServer
1.957 2013-01-15T13:18:07Z
* Fix minimum Perl version
1.956 2013-01-15T10:35:10Z
* Add on_connect callback to Redis constructor (issue 28)
* Make sure quit() doesn't die when the socket is already dead (issue 30);
* Switch to Digest::SHA, one less non-core dep RT#81841
* Try and make Travis-CI more useful, ask for a redis-server
* Update SUPPORT section, moving bugtracker to GitHub issues
1.955 2012-10-10T11:43:44Z
* Skip 30-scripts.t if the redis-server found lacks script support
1.954 2012-10-10T11:16:22Z
* Support for multi-word commands such as "SCRIPT LOAD".
* Try another fix for Windows non-blocking reads
1.953 2012-09-05T00:49:11Z
* Tweak travis.ci setup
1.952 2012-09-04T11:22:18Z
* Added automatic authentication after connection establishment
* Support Redis 2.6: Aaron Crane <arc@cpan.org>
* Attempt to fix non-blocking read on Windows
* Enable travis.ci support on the repository
=== 3.43.0 (2013-01-08)
* Move the #meta_def support for Database, Dataset, and Model to the meta_def extension (jeremyevans)
* Fix Database#copy_into on jdbc/postgres when an exception is raised (jeremyevans)
* Add core_refinements extension, providing refinement versions of Sequel's core extensions (jeremyevans)
* Make Database#copy_into raise a DatabaseError if the database signals an error in the postgres adapter (jeremyevans)
* Define respond_to_missing? where method_missing is defined and the object supports respond_to? (jeremyevans)
* Allow lambda procs with 0 arity as virtual row blocks on ruby 1.9 (jeremyevans)
* Handle schema-qualified row_types in the pg_array integration in the pg_row extension (jeremyevans) (#595)
* Support default_schema when reseting primary key sequences on PostgreSQL (jeremyevans) (#596)
* Allow treating tinyint(1) unsigned columns as booleans in the mysql adapters (jeremyevans)
* Support the jdbc-hsqldb gem in the jdbc adapter, since it has been updated to 2.2.9 (jeremyevans)
* Work with new jdbc-* gems that require manual driver loading (kares) (#598)
* Cast blobs correctly on DB2 when use_clob_as_blob is false (mluu, jeremyevans) (#594)
* Add date_arithmetic extension for database-independent date calculations (jeremyevans)
* Make Database#schema handle [host.]database.schema.table qualified tables on Microsoft SQL Server (jeremyevans)
* Add Dataset#split_qualifiers helper method for splitting a qualifier identifier into array of strings (jeremyevans)
* Make Database#schema_and_table always return strings for the schema and table (jeremyevans)
* Skip stripping of blob columns in the string_stripper plugin (jeremyevans) (#593)
* Allow Dataset#get to take an array to return multiple values, similar to map/select_map (jeremyevans)
* Default :prefetch_rows to 100 in the Oracle adapter (andrewhr) (#592)
Fix a bug, introduced in version 3.7.15, that causes an ORDER BY clause to be optimized out of a three-way join when the ORDER BY is actually required.
Upstream changes:
Version 1.402, released December 19, 2012
-------------------------------------------------
[Misc]
* add Math::Complex 1.56 as recommendation (RT#81926, Sam Ferencik)
* add Math::BigInt 1.88 as recommendation (RT#81927, Sam Ferencik)
* clarify Test::Simple 1.90 is required for building (RT#81925, Sam Ferencik)
[Bug fixes]
* fix leaking reference to open tables outside SQL::Statement::execute
(fixes RT#81523)
* looks_like_number identifies 'nan' as number sometimes (add regex to
t/06virtual.t)
Version 1.401, released October 29, 2012
-------------------------------------------------
[Misc]
* Switch to 3-digited minor version
[Bug fixes]
* undo literal replaces in subqueries before passing them to the
child parser
* Fix doc typo RT#76764 (STEFFENW) - thanks Steffen
* Fix typo documented in RT#71914 (reported by Ze'ev Atlas,
fixed by H.Merijn Brand) - thanks Ze'ev and Merijn
* Fix DROP TABLE behaviour and error detection
[Improvements]
* Improve documentation/tests for multiple JOIN's from RT#69573
(from BBYRD) with modifications
* Filling in the SQL92 gaps for functions (BBYRD) from RT#72638
with minor modifications - thanks Brendan
Mainly a bug fix. Also adds a preplacement for the functionality of
databases/py-pgnotify which no longer works with new versions of
PyGreSQL and PostgreSQL.
Fix a bug, introduced in version 3.7.15, that causes a segfault if the AS name of a result column of a SELECT statement is used as a logical term in the WHERE clause.
Changes since 4.0:
- Dropped support for Python below 2.5 and PostgreSQL below 8.3.
- Added support for Python up to 2.7 and PostgreSQL up to 9.2.
- Particularly, support PQescapeLiteral() and PQescapeIdentifier().
- The query method of the classic API now supports positional parameters.
This an effective way to pass arbitrary or unknown data without worrying
about SQL injection or syntax errors (contribution by Patrick TJ McPhee).
- The classic API now supports a method namedresult() in addition to
getresult() and dictresult(), which returns the rows of the result
as named tuples if these are supported (Python 2.6 or higher).
- The classic API has got the new methods begin(), commit(), rollback(),
savepoint() and release() for handling transactions.
- Both classic and DBAPI 2 connections can now be used as context
managers for encapsulating transactions.
- The execute() and executemany() methods now return the cursor object,
so you can now write statements like "for row in cursor.execute(...)"
(as suggested by Adam Frederick).
- Binary objects are now automatically escaped and unescaped.
- Bug in money quoting fixed. Amounts of $0.00 handled correctly.
- Proper handling of date and time objects as input.
- Proper handling of floats with 'nan' or 'inf' values as input.
- Fixed the set_decimal() function.
- All DatabaseError instances now have a sqlstate attribute.
- The getnotify() method can now also return payload strings (#15).
- Better support for notice processing with the new methods
set_notice_receiver() and get_notice_receiver()
(as suggested by Michael Filonenko, see #12 and #37).
- Open transactions are rolled back when pgdb connections are closed
(as suggested by Peter Harris, see #46).
- Connections and cursors can now be used with the "with" statement
(as suggested by Peter Harris, see #46).
- New method use_regtypes() that can be called to let getattnames()
return regular type names instead of the simplified classic types (#44).
- bug #3563824 [export] Support Apache's mod_deflate
- bug #3585523 [interface] Inline query editing broken after row update
- bug #3586389 [setup] Cannot switch language in /setup
- bug #3585695 [CSS] Font size in inline query editor is way too big
- bug #3588354 [l10n] Portuguese Language not displaying correctly
- bug #3591412 [status] Live charts don't work for non-default server
- bug [core] Proxy ajax calls to pma.net to avoid browser notices
- bug #3593534 [tracking] Structure Snapshot on tracked view renders
invalid SQL
- bug #3544366 [events] Event comments not saved
Approved by Thomas Klausner.
v0.17.0
- multi_get_columns with only one query (courtesy @christian-blades-cb)
- documentation fixes for get and multi_get (issue #136, courtesy @christian-blades-cb)
v0.16.0
- New :queue_size option for batch mode (courtesy @vicentllongo)
- Cassandra 1.1 support (courtesy @hawknewton)
## 0.10.10 2012-10-11
No changes
## 0.10.9 2012-08-13
* Handle bigint insert id's
* Add handling for invalid date and datetimes with value 0000-00-00
* Handle empty database names for connecting to the default database
## 0.10.10 2012-10-11
* JRuby performance improvements
* Reconnect added on JRuby
* do\_sqlite3 C driver supports busy\_timeout
## 0.10.9 2012-08-13
* Don't try to escape queries when no binding parameters are given
=== 3.42.0 (2012-12-03)
* If an exception occurs while committing a transaction, attempt to rollback (jeremyevans)
* Support setting default string column sizes on a per-Database basis via default_string_column_size (jeremyevans)
* Reset Model.instance_dataset when extending the model's dataset (jeremyevans)
* Make the force_encoding plugin work with frozen strings (jeremyevans)
* Add Database#do on PostgreSQL for using the DO anonymous code block execution statement (jeremyevans)
* Remove Model.dataset_methods (jeremyevans)
* Allow subset to be called inside a dataset_module block (jeremyevans)
* Make Dataset#avg, #interval, #min, #max, #range, and #sum accept virtual row blocks (jeremyevans)
* Make Dataset#count use a subselect when the dataset has an offset without a limit (jeremyevans) (#587)
* Dump deferrable status of unique indexes on PostgreSQL (radford) (#583)
* Extend deferrable constraint support to all types of constraints, not just foreign keys (radford, jeremyevans) (#583)
* Support Database#copy_table and #copy_into on jdbc/postgres (bdon) (#580)
* Make Dataset#update not use a limit (TOP) on Microsoft SQL Server 2000 (jeremyevans) (#578)
=== 3.41.0 (2012-11-01)
* Add bin/sequel usage guide (jeremyevans)
* Make Dataset#reverse and #reverse_order accept virtual row blocks (jeremyevans)
* Add Sequel.delay for generic delayed evaluation (jeremyevans)
* Make uniqueness validations correctly handle nil values (jeremyevans)
* Support :unlogged option for create_table on PostgreSQL (JonathanTron) (#575)
* Add ConnectionPool#pool_type to get the type of connection pool in use (jeremyevans)
* Explicitly mark primary keys as NOT NULL on SQLite (jeremyevans)
* Add support for renaming primary key columns on MySQL (jeremyevans)
* Add connection_validator extension for automatically checking connections and transparently handling disconnects (jeremyevans)
* Add Database#valid_connection? for checking whether a given connection is valid (jeremyevans)
* Make dataset.limit(nil, nil) reset offset as well as limit (jeremyevans) (#571)
* Support IMMEDIATE/EXCLUSIVE/DEFERRED transaction modes on SQLite (Eric Wong)
* Major change in the Database <-> ConnectionPool interface (jeremyevans)
* Make touch plugin handle touching of many_*_many associations (jeremyevans)
* Make single_table_inheritance plugin handle non-bijective mappings (hannesg) (#567)
* Support foreign key parsing on MSSQL (munkyboy) (#564)
* Include SQL::AliasMethods in most pg_* extension objects (treydempsey, jeremyevans) (#563)
* Handle failure to create a prepared statement better in the postgres, mysql, and mysql2 adapters (jeremyevans) (#560)
* Treat clob columns as strings instead of blobs (jeremyevans)
=== 3.40.0 (2012-09-26)
* Add a cubrid adapter for accessing CUBRID databases via the cubrid gem (jeremyevans)
* Add a jdbc/cubrid adapter for accessing CUBRID databases via JDBC on JRuby (jeremyevans)
* Return OCI8::CLOB values as ruby Strings in the Oracle adapter (jeremyevans)
* Use clob for String :text=>true types on Oracle, DB2, HSQLDB, and Derby (jeremyevans) (#555)
* Allowing marshalling of Sequel::Postgres::HStore (jeremyevans) (#556)
* Quote channel identifier names when using LISTEN/NOTIFY on PostgreSQL (jeremyevans)
* Handle nil values when formatting bound variable arguments in the pg_row extension (jeremyevans) (#548)
* Handle nil values when parsing composite types in the pg_row extension (jeremyevans) (#548)
* Add :disconnect=>:retry option to Database#transaction, for automatically retrying the transaction on disconnect (jeremyevans)
* Greatly improved support on Microsoft Access (jeremyevans)
* Support Database#{schema,tables,views,indexes,foreign_key_list} when using ado/access adapter (ericgj) (#545, #546)
* Add ado/access adapter for accessing Microsoft Access via the ado adapter (jeremyevans)
* Combine disconnect error detection for mysql and mysql2 adapters (jeremyevans)
* Update the association_pks plugin to handle composite primary keys (chanks, jeremyevans) (#544)
What's new in psycopg 2.4.6
---------------------------
- Fixed 'cursor()' arguments propagation in connection subclasses
and overriding of the 'cursor_factory' argument. Thanks to
Corry Haines for the report and the initial patch (ticket #105).
- Dropped GIL release during string adaptation around a function call
invoking a Python API function, which could cause interpreter crash.
Thanks to Manu Cupcic for the report (ticket #110).
- Close a green connection if there is an error in the callback.
Maybe a harsh solution but it leaves the program responsive
(ticket #113).
- 'register_hstore()', 'register_composite()', 'tpc_recover()' work with
RealDictConnection and Cursor (ticket #114).
- Fixed broken pool for Zope and connections re-init across ZSQL methods
in the same request (tickets #123, #125, #142).
- connect() raises an exception instead of swallowing keyword arguments
when a connection string is specified as well (ticket #131).
- Discard any result produced by 'executemany()' (ticket #133).
- Fixed pickling of FixedOffsetTimezone objects (ticket #135).
- Release the GIL around PQgetResult calls after COPY (ticket #140).
- Fixed empty strings handling in composite caster (ticket #141).
- Fixed pickling of DictRow and RealDictRow objects.
## Rails 3.2.9 (unreleased)
* Fix issue with collection associations calling first(n)/last(n) and attempting
to set the inverse association when `:inverse_of` was used. Fixes#8087.
*Carlos Antonio da Silva*
* Fix bug when Column is trying to type cast boolean values to integer.
Fixes#8067.
*Rafael Mendon«®a Fran«®a*
* Fix bug where `rake db:test:prepare` tries to load the structure.sql into development database.
Fixes#8032.
*Grace Liu + Rafael Mendon«®a Fran«®a*
* Fixed support for `DATABASE_URL` environment variable for rake db tasks. *Grace Liu*
* Fix bug where `update_columns` and `update_column` would not let you update the primary key column.
*Henrik Nyh*
* Decode URI encoded attributes on database connection URLs.
*Shawn Veader*
* Fix AR#dup to nullify the validation errors in the dup'ed object. Previously the original
and the dup'ed object shared the same errors.
*Christian Seiler*
* Synchronize around deleting from the reserved connections hash.
Fixes#7955
* PostgreSQL adapter correctly fetches default values when using
multiple schemas and domains in a db. Fixes#7914
*Arturo Pie*
* Fix deprecation notice when loading a collection association that
selects columns from other tables, if a new record was previously
built using that association.
*Ernie Miller*
* The postgres adapter now supports tables with capital letters.
Fix#5920
*Yves Senn*
* `CollectionAssociation#count` returns `0` without querying if the
parent record is not persisted.
Before:
person.pets.count
# SELECT COUNT(*) FROM "pets" WHERE "pets"."person_id" IS NULL
# => 0
After:
person.pets.count
# fires without sql query
# => 0
*Francesco Rodriguez*
* Fix `reset_counters` crashing on `has_many :through` associations.
Fix#7822.
*lulalala*
* ConnectionPool recognizes checkout_timeout spec key as taking
precedence over legacy wait_timeout spec key, can be used to avoid
conflict with mysql2 use of wait_timeout. Closes#7684.
*jrochkind*
* Rename field_changed? to _field_changed? so that users can create a field named field
*Akira Matsuda*, backported by *Steve Klabnik*
* Fix creation of through association models when using `collection=[]`
on a `has_many :through` association from an unsaved model.
Fix#7661.
*Ernie Miller*
* Explain only normal CRUD sql (select / update / insert / delete).
Fix problem that explains unexplainable sql. Closes#7544#6458.
*kennyj*
* Backport test coverage to ensure that PostgreSQL auto-reconnect functionality
remains healthy.
*Steve Jorgensen*
* Use config['encoding'] instead of config['charset'] when executing
databases.rake in the mysql/mysql2. A correct option for a database.yml
is 'encoding'.
*kennyj*
* Fix ConnectionAdapters::Column.type_cast_code integer conversion,
to always convert values to integer calling #to_i. Fixes#7509.
*Thiago Pradi*
* Fix time column type casting for invalid time string values to correctly return nil.
*Adam Meehan*
* Fix `becomes` when using a configured `inheritance_column`.
*Yves Senn*
* Fix `reset_counters` when there are multiple `belongs_to` association with the
same foreign key and one of them have a counter cache.
Fixes#5200.
*Dave Desrochers*
* Round usec when comparing timestamp attributes in the dirty tracking.
Fixes#6975.
*kennyj*
* Use inversed parent for first and last child of has_many association.
*Ravil Bayramgalin*
* Fix Column.microseconds and Column.fast_string_to_date to avoid converting
timestamp seconds to a float, since it occasionally results in inaccuracies
with microsecond-precision times. Fixes#7352.
*Ari Pollak*
* Fix `increment!`, `decrement!`, `toggle!` that was skipping callbacks.
Fixes#7306.
*Rafael Mendon«®a Fran«®a*
* Fix AR#create to return an unsaved record when AR::RecordInvalid is
raised. Fixes#3217.
*Dave Yeu*
* Remove unnecessary transaction when assigning has_one associations with a nil or equal value.
Fix#7191.
*kennyj*
* Allow store to work with an empty column.
Fix#4840.
*Jeremy Walker*
* Remove prepared statement from system query in postgresql adapter.
Fix#5872.
*Ivan Evtuhovich*
* Make sure `:environment` task is executed before `db:schema:load` or `db:structure:load`
Fixes#4772.
*Seamus Abshere*
* Added the sqlite3_errstr() interface.
* Avoid invoking the sqlite3_trace() callback multiple times when a statement is automatically reprepared due to SQLITE_SCHEMA errors.
* Added support for Windows Phone 8 platforms
* Enhance IN operator processing to make use of indices with numeric affinities.
* Do full-table scans using covering indices when possible, under the theory that an index will be smaller and hence can be scanned with less I/O.
* Enhance the query optimizer so that ORDER BY clauses are more aggressively optimized, especially in joins where various terms of the ORDER BY clause come from separate tables of the join.
* Add the ability to implement FROM clause subqueries as coroutines rather that manifesting the subquery into a temporary table.
* Enhancements the command-line shell:
* Added the ".print" command
* Negative numbers in the ".width" command cause right-alignment
* Add the ".wheretrace" command when compiled with SQLITE_DEBUG
* Added the busy_timeout pragma.
* Added the instr() SQL function.
* Added the SQLITE_FCNTL_BUSYHANDLER file control, used to allow VFS implementations to get access to the busy handler callback.
* The xDelete method in the built-in VFSes now return SQLITE_IOERR_DELETE_NOENT if the file to be deleted does not exist.
* Enhanced support for QNX.
* Work around an optimizer bug in the MSVC compiler when targeting ARM.
* Bug fix: Avoid various concurrency problems in shared cache mode.
* Bug fix: Avoid a deadlock or crash if the backup API, shared cache, and the SQLite Encryption Extension are all used at once.
* Bug fix: SQL functions created using the TCL interface honor the "nullvalue" setting.
* Bug fix: Fix a 32-bit overflow problem on CREATE INDEX for databases larger than 16GB.
* Bug fix: Avoid segfault when using the COLLATE operator inside of a CHECK constraint or view in shared cache mode.
This update release also contains fixes for many minor issues discovered and patched by the PostgreSQL community in the last month, including several fixes which are specific to version 9.2. These include:
* Prevent psql crash due to incorrectly encoded input data
* Fix pg_regress gmake build issues
* Make sure correct directory is created for extensions
* Fix some issues with buffer locks and VACUUM
* Multiple fixes and improvements for pg_upgrade
* Fix bugs with end-of-recovery when failing over to a standby
* Avoid bogus "out-of-sequence timeline ID" errors in standby-mode
* Don't launch new child processes during shutdown
* Improve the ability of JOINs to use partial indexes
* Fix assorted integer overflow errors
* Eliminate memory leaks in record_out() and record_send()
* Skip searching for subtransaction logs at COMMIT
* Fix WaitLatch() timing issues
* Fix handling of inherited check constraints in ALTER COLUMN TYPE
* Make ALTER EXTENSION SET SCHEMA behave as documented
* Have SEQUENCE SET statements in the "data" section of sectional dumps
* Prevent parser from believing that VIEWs have system columns
* Fix --clean mode for pg_dump
* Prevent hash table corruption on out-of-memory
* Various query planner and executor fixes and improvements
* Multiple documentation updates
* DST updates for seven timezones
This is a pure Java (Type IV) JDBC driver for the PostgreSQL
database. It allows Java programs to connect to a PostgreSQL
database using standard, database independent Java code.
The driver provides a reasonably complete implementation of the
JDBC 4 specification in addition to some PostgreSQL specific
extensions.
5.2.2 (10-Sep-2012)
Bugs fixed:
* Server disconnects on the execution of a query following execution of a SP
returning resultset(s) and OUT parameters. (Bug# 14512187)
* Crash while executing after binding BLOB datatype as INOUT parameter
(Bug# 14501952)
* SP having 2 BLOB OUT parameters crashes at execution (Bug# 14563386)
* ASSERT for INOUT parameter of BIT(N>3) type (Bug#14560916)
* Using ADO, driver returns wrong type and value for bit(>1) parameter
(Bug# 14555713)
* Blobs used in as INOUT parameters have inconsistent behaviour in ADO
(Bug# 14580316)
* my_isspace calls cause ODBC driver crashes (Bug# 14363601)
* SQLNativeSql did not null-terminate output string after copying
(Bug# 14559721)
* Incorrect length value passed to SQLSetConnectAttr could cause
driver crash. (Bug# 14620420)
Built using MySQL 5.5.27.
----
5.2.1 (09-Aug-2012)
Functionality added or changed:
* Driver prepares statements on server
* Support of INOUT and OUT parameters(WL#6116)
* Increased the timeout in tests from 30 to 60 seconds to avoid failures in
slow tests that involve catalog functions and Information_Schema queries.
Bugs fixed:
* Long table names crash OBDC driver. (Bug# 14085211/65200)
* Close proximity issue when handling OS signlals in myodbc (Bug# 14303803)
* "String data right truncated" error is not always correct (Bug# 14285620)
Built using MySQL 5.5.27.
----
5.2.0
Functionality added or changed:
* Driver available in Unicode and ANSI versions(WL#5850)
* Driver by default uses server side prepared statements
* Connection string option NO_SSPS prevents using of server side prepared
statements. It is configurable via GUI dialog.
Built using MySQL 5.5.25.
----
5.1.11
Functionality added or changed:
* MyODBC queries log is written to %TEMP%\myodbc.sql, or to C:\myodbc.sql if
TEMP is not defined.
* Added pre-fetch functionality implemented through LIMIT to avoid reading the
entire resultset for full table SELECT queries. (WL#6211)
Bugs fixed:
* Fractional parts of second is ignored in SQLGetData. (Bug #12767740/60646)
* ODBC prepared statements ignore fractional part of temporal data types.
(Bug #12767761/60648)
* Memory leak on Windows on each connection attepmt. (Bug #11766029/59059)
* SQLTables() function does not return the catalog correctly if the wildcard
or SQL_ALL_CATALOGS is used. (Bug #13914518)
----
5.1.10(02-Feb-2012)
Functionality added or changed:
Bugs fixed:
* In some cases TIMESTAMP field could be described as SQL_NO_NULLS.
(Bug #13532987)
* SQLFetch has to return error if indicator pointer is NULL for NULL value.
(Bug #13542600)
* A failure on one stmt causes another stmt to fail. (Bug #13097201/#62657)
Built using MySQL 5.5.18.
----
5.1.9 (04-Oct-2011)
Functionality added or changed:
* Support of windows authentication.
Bugs fixed:
* SQLFetch() did not return SQL_ERROR if connection was dropped due to a
timeout. (Bug #39878)
* MS Access with VARCHAR NOT NULL columns. (Bug #31067)
* sqlwcharchr might read one SQLWCHAR after end of string. (Bug #61586)
* Column parameter binding makes SQLExecute not to return SQL_ERROR on
disconnect. (Bug #59772)
* If pre-execution failed some catalog functions called right after that
would return only one row. (Bug #12824839)
* MyODBC driver does not call mysql_thread_end() when the thread ends causing
error messages such as this: Error in my_thread_global_end(): 1 threads
didn't exit. (Bug #57727)
* When NO_BINARY_RESULT was set driver failed to perform the expected data
conversion. (Bug#11765110/58038)
Built using MySQL 5.5.16.
- bug #3570212 [edit] uuid_short() is a no-arguments function
- bug #3569577 [edit] Add routine parameter headers not valid for "function"
- bug #3575799 [search] Various search operators not working as expected
- bug #3576322 [search] Invalid select query generated for tables with
ENUM fields
- bug #3577468 [display] Incorrect imagejpeg Syntax Breaks Image Transformation
- bug #3578776 [search] Editing SQL not possible when no records found
- bug #3571970 [interface] Display chart and number of rows to plot
- bug #3582631 [core] Wrong redirect url caused cookies error with ForceSSL
switch from guile16 to guile (currently 1.8), and remove the special
accomodations for 1.6.
- 0.44 | 2012-04-20
- distribution now .tar.xz
If you have GNU tar, you can use "tar xf" and it will DTRT.
If not, you can use "xz -dc TARBALL | tar xf -" to unpack.
- bugfix: ‘pg-get-copy-data’ handles unspecified ‘async?’
Previously, if ‘async?’ was unspecified, it was incorrectly
interpreted as true (i.e., "not false"). Now, if unspecified,
it is interpreted correctly as false.
- testing slack for pre-8.1 ‘pg-client-encoding’
Previously, the types-table test was too strict when checking
the ‘pg-client-encoding’ return value, expecting "UTF-8" only.
Now, it accepts also "UNICODE", which is the norm for PostgreSQL
prior to 8.1.
- support for ‘make check KEEPD=1’
If you run "make check" many times, you can avoid daemon bounce
overhead by specifying ‘KEEPD=1’, which inhibits daemon killing.
- maintenance tools
- GNU Autoconf 2.68
- GNU Automake 1.11.5
- GNU Libtool 2.4.2
- Guile-BAUX 20120309.1509.1c4bb92
- SNUGGLE 0.1
- 0.43 | 2012-02-06
[PBI] means "WARNING: potentially backward-incompatible".
- bugfix: ‘sql-quote’ translates backslash (#\\) to ‘\134’
Previously, backslash characters were passed through
unmodified. Now, they are translated to the string "\134"
(i.e., the four characters ‘#\\’, ‘#\1’, ‘#\3’, ‘#\4’).
- [PBI] ‘bytea’ stringifier outputs only one backslash
If the ‘bytea’ stringifier from ‘(database postgres-types)’ is
used standalone, this represents a BACKWARD INCOMPATIBLE change.
In the normal case, however, where the stringifier is used in
conjunction with ‘sql-quote’, this change is transparent.
- new (database postgres-qcons) proc: string-xrep
Some versions of Guile emit ‘\xXX’ to represent the octet with
hex value XX when constructing the external representation of a
string, for certain octets. Furthermore, some versions of
PostgreSQL cannot grok such escape sequences anyway. The new
procedure ‘string-xrep’ is like ‘object->string’ (for a string
arg) except that it explicitly emits the octet itself, except
for ‘#\\’ and and ‘#\"’, which are backslash-escaped as normal.
- ‘(database postgres-qcons) idquote’ no longer emits ‘\xXX’
Before, ‘idquote’ used ‘object->string’ internally, and thus
suffered from the problems described in the preceding NEWS
entry. Now, it uses ‘string-xrep’.
- ‘(database postgres-col-defs) validate-def’ more permissive
A column name may now be any symbol that does not contain
whitespace. Previously it was restricted to a symbol whose
constituent characters were alphanumeric or underscore.
This change makes Guile-PG less strict (in some sense) than
PostgreSQL, which imposes other rules. Overarching is the
recommendation from PostgreSQL to consistently use a "delimited
identifier" (aka "quoted identifier") rather than a naked name.
That's what ‘idquote’ and ‘string-xrep’, both used extensively
in Guile-PG, do. See section "Identifiers and Key Words" in
chapter "SQL Syntax" in the PostgreSQL documentation, for more
information.
- ‘pgtable-manager’ and ‘pgtable-worker’ likewise relaxed
These use ‘(database postgres-col-defs)’ procs and new proc
‘string-xrep’ internally, and thus benefit from the changes
mentioned in the preceding NEWS entries. Notably, table and
column names are less constrained. For example, see file
test/types-table.scm, proc ‘test-m2’.
[Probably "relaxed" is not as good as "strictness relaxed and
multi-byte-fu enhanced", but that does not fit on one line.]
- fake cluster created on-demand for "make check"
In addition to a fake installation, "make check" now also
creates a cluster under test/fake-cluster/ configured for
Unix-domain connections, and kicks/kills the daemon around the
actual ‘runtest TEST’ invocations. This means it is no longer
necessary to set env var ‘PGDATABASE’. In fact, that and env
var ‘PGHOST’ are now silently ignored, since ‘runtest’ clobbers
them internally.
If you previously tested Guile-PG against different PostgreSQL
versions by varying ‘PGDATABASE’, you now need to vary env var
‘INITDB’ instead, and zonk the cluster before the "make check"
invocation. Something like:
$(MAKE) delete-cluster
$(MAKE) check DEBUG=1 INITDB=/a/particular/initdb
in directory test/ would be fine. See README section "Testing".
- 0.42 | 2011-10-04
- bugfix: "make check" no longer clobbers installed file
For Guile versions that require a Scheme wrapper for .so loading
(i.e., Guile 1.8 and later), "make check" does a fake install w/
a ‘prefix’ in the build tree. Unfortunately, in Guile-PG 0.41,
that dir was not specified to the Scheme wrapper, resulting in
its installation under the "real" (as determined / set by the
configure script) ‘prefix’.
The system would reamin in this inconsistent state, with the
wrapper pointing into the build tree, until "make install", at
which point everything was resynchronized. Obviously, if you
never do "make install", the problem persists (silently, until
the build tree is deleted).
This has now been fixed. If you did a "make check" but NOT
"make install" of Guile-PG 0.41, the best way forward is to
configure Guile-PG 0.42 and then "make install; make uninstall".
- ‘pg-print’ now does ‘fflush’ after each operation
This probably kills performance, but it is safer, given Guile's
direct use of ‘write(2)’ et al.
- ‘pg-set-client-encoding!’ also accepts symbolic encoding
- 0.41 | 2011-09-29
- Bugs fixed
- Make ‘idquote’ special-case ‘*’ in second part.
was: (display (idquote 'a.*)) |= "a"."*"
now: (display (idquote 'a.*)) |= "a".*
- Call ‘string-append’ with strings, not symbols.
We no longer rely on this particular Guile 1.4 slack.
- Portability fixes (tested w/ Guile 1.8.7)
With the following (and other, non-user-visible) changes, "make
check" no longer displays "foo is deprecated" messages with
Guile 1.8.7. If you see them for your system, for either "make
check" or subsequent Guile-PG use, please report that as a bug.
- Don't do "defer/allow ints" for Guile 1.8+.
- Revamped Scheme object to C byte range for Guile 1.8+
Access to Scheme string representation was curtailed in Guile
1.8 (API available but deprecated), so all operations that pass
a C byte range to libpq functions now incur an extra conversion
step. The unfortunate user-visible result is performance loss.
- Planned retirement
- procedure ‘(database postgres) pg-getline’
- procedure ‘(database postgres) pg-getlineasync’
These procedures are obsoleted by ‘pg-get-copy-data’ and
WILL BE REMOVED by 2012-12-31.
- New fluid to control ‘(database postgres-qcons) sql-quote’
The fluid ‘sql-quote-auto-E?’ controls whether or not
‘sql-quote’ should check for ‘\’ (backslash) characters and
prefix an "E" in that case. This is relevant if you use
PostgreSQL 8.2+.
- New support for "hex format" in ‘bytea’ objectifier
PostgreSQL 9.0 introduces a more efficient "hex format" for
‘bytea’ output. This is now recognized and parsed, falling back
to handling the traditional "escape format" if not recognized.
- Doc improvements
- Fix omission: Document ‘pg-get-copy-data’ arg ‘async?’.
- Indices merged into one
- Builtin type converters listed and indexed
- Builtin type converter array variants listed
- For ‘make check DEBUG=1’, display the guile(1) invocation.
- Tested w/ latest server versions: 8.[01234], 9.[01]
Additionally, the entries in file test/OK now include the
associated Guile-PG version, and some include a subheading
"other pg" to list the precise server version numbers.
- 0.40 | 2011-06-05
- Changes to configuration
- Bug fixed in finding ‘pg_encoding_to_char’, ‘pg_char_to_encoding’
- Now seeks and arranges to use <postgresql/foo> headers
- No longer clobbers user vars ‘CPPFLAGS’, ‘LDFLAGS’
- Changes to build / test / install
- Bug fixed: Delete everything on "make uninstall"
- Scheme code now punified for install
- Add "no C module" mode for build / install
- Changes to "make check"
- Flaky symlinking replaced w/ partial in-tree installation
- runtest now honors env var ‘GUILE’
- runtest now shows loaded files if env var ‘DEBUG’ set
- New (database postgres-qcons) proc: idquote
- Docs now explicitly UTF-8
- Tested on more platforms (see file test/OK)
- Maintenance uses AAL 2.68, 1.11.1, 2.4; Guile-BAUX 20110605.1656