* Fix a bug where mutex contention in database environments configured for
hybrid mutex support could result in performance degradation.
* Fix a bug where closing a database handle after aborting a transaction
which included a failed open of that database handle could result in
application failure.
* Fix multiple MVCC bugs including a race which could result in incorrect
data being returned to the application.
* Fix a bug where a database store into a Hash database could self-deadlock
in a database environment configured for the Berkeley DB Concurrent Data
Store product and with a free-threaded DB_ENV or DB handle.
* Fix an installation bug where Berkeley DB's PHP header file was not installed
in the correct place.
Bug fixes:
* fixed simple bind with a patch from Pawel Salek (fixes 1753419)
Changes 1.2.2:
Bug fixes:
* fixed a crash when loading the state file on BSD systems (patch from the
NetBSD people)
* make command line argument handling more robust
Changes 1.2.1:
Build Improvements
* fixed a bash expression
Version 8.0-321 (2007-12-02)
* fix Make code that parses queries for updateable resultsets
aware of the ONLY clause. (jurka) Thanks to Oleg Vasylenko.
* fix While custom type maps are not implemented, the code to
detect the caller trying to use them threw a ClassCastException.
Correctly detect the attempted use of custom types and bail
out with a SQLException. (jurka)
Version 8.0-320 (2007-07-31)
* add Make setObject recognize a parameter of type java.lang.Byte.
(jurka) Thanks to Boom Roos.
* fix Updatable ResultSets did not work when updating bytea
data and then retrieving it because we send the data to the
server in binary format, but the ResultSet was expecting to
read it in text format. So we need to convert the data from
binary to text format before stuffing it into the ResultSet.
(jurka) Thanks to Mikko Tiihonen.
* fix Do escape processing on batch Statements prior to execution.
This already worked for PreparedStatements, but not plain
Statements. (jurka) Thanks to Hui Ye.
* fix When retrieving the columns of a function that returns
a complex type, don't retrieve system columns (like xmin/xmax/...)
that you'll find if the type is from a table. (jurka)
* fix Error message was reporting the wrong parameter type
value in the V3 protocol's SimpleParameterList implementation.
(jurka) Thanks to Nathan Keynes.
* fix Explicitly state which source level we are compiling.
Newer versions of gij/gcj run a 1.5 VM, but default to a 1.4
source level compile which tricks up our build system. This
still doens't fix the case of running with a newer VM than
compiler, but I don't see what we can do about that. (jurka)
Thanks to Tom Lane, Oliver Jowett.
Version 8.0-319 (2007-04-18)
* add Implement ResultSet.updateArray by simply mapping it to
updateObject which now works for arrays. (jurka)
* fix Produce the timezone that we send to the server in the
same format that we can parse. This is important for updatable
ResultSets as we must be able to parse the format we produce.
(jurka) Thanks to Leon Do.
* fix Allow updatable ResultSets to update arrays. (jurka)
Thanks to Vasylenko.
Version 8.1-411 (2007-12-02)
* fix When doing batch execution we can have multiple Parse
and DescribeStatement messages on the wire at the same time.
When we finally get around to collecting the DescribeStatement
results we must check whether they still apply to the currently
parsed query. Otherwise we'll overwrite our type information
with stale data that will cause failures down the line. (jurka)
Thanks to Eric Faulhaber.
* fix CallableStatements with OUT parameters that get executed
more than prepareThreshold times failed if clearParameters()
was called in between executions. When we've hit the
prepareThreshold, we no longer send Parse messages which invoke
SimpleParameterList.getTypeOID which has side effects required
to setup the parameters correctly. Add an explicit
convertFunctionOutParameters method to do this work instead
that we call in all execution paths. (jurka) Thanks to Ludovico
Bianchini.
* fix Multiple calls to XAConnection.getConnection within the
same user transaction ended up restarting the transaction on
the server side as a result of manipulating the autocommit
state. When retrieving a Connection, we must pay attention to
whether a user transaction is in progress when setting the
autocommit state. (jurka) Thanks to Heikki Linnakangas.
* fix Make code that parses queries for updateable resultsets
aware of the ONLY clause. (jurka) Thanks to Oleg Vasylenko.
* fix While custom type maps are not implemented, the code to
detect the caller trying to use them threw a ClassCastException.
Correctly detect the attempted use of custom types and bail
out with a SQLException. (jurka)
Version 8.1-410 (2007-07-31)
* add Make setObject recognize a parameter of type java.lang.Byte.
(jurka) Thanks to Boom Roos.
* fix Updatable ResultSets did not work when updating bytea
data and then retrieving it because we send the data to the
server in binary format, but the ResultSet was expecting to
read it in text format. So we need to convert the data from
binary to text format before stuffing it into the ResultSet.
(jurka) Thanks to Mikko Tiihonen.
* fix Do escape processing on batch Statements prior to execution.
This already worked for PreparedStatements, but not plain
Statements. (jurka) Thanks to Hui Ye.
* fix Don't return quotes around identifiers in the results of
DatabaseMetaData.getIndexInfo even if they would require quoting
in SQL. (jurka) Thanks to Andrei Badea.
* fix When retrieving the columns of a function that returns
a complex type, don't retrieve system columns (like xmin/xmax/...)
that you'll find if the type is from a table. (jurka)
* fix The previous fix to try and set a XA based Connection's
autocommit property correctly didn't quite work. Calling
XAConnection.getConnection set autocommit to true even if we
already had a transaction in progress. (jurka) Thanks to Luca
Ferrari, Heikki Linnakangas.
* fix Error message was reporting the wrong parameter type
value in the V3 protocol's SimpleParameterList implementation.
(jurka) Thanks to Nathan Keynes.
* fix Backpatch fix to 8.1: Allow XAResource.start with TMJOIN
in a limited set of circumstances to work with WebLogic. We
allow TMJOIN only if the resource was previously ended and the
Xid is the same as the current Xid. (jurka) Thanks to Jan de
Visser and Heikki Linnakangas.
* fix Backpatch fix to 8.1: A XAConnections default autocommit
state should be true. The driver was previously setting autocommit
to false and assuming it would stay that way. This caused two
problems. First, some applications expected to be able to issue
local autocommit transactions prior to begin(). Second, some
TMs (Geronimo) set the autocommit state to true themselves,
which causes problems as the driver did not expect it to be
changed. This patch correctly disables and enables autocommit
around begin, prepare, commit, and rollback methods. (jurka)
Thanks to Allan Saddi.
* fix Explicitly state which source level we are compiling.
Newer versions of gij/gcj run a 1.5 VM, but default to a 1.4
source level compile which tricks up our build system. This
still doens't fix the case of running with a newer VM than
compiler, but I don't see what we can do about that. (jurka)
Thanks to Tom Lane, Oliver Jowett.
Version 8.1-409 (2007-04-18)
* add Implement ResultSet.updateArray by simply mapping it to
updateObject which now works for arrays. (jurka)
* fix Statement.getTime, .getDate, and .getTimestamp methods
which are passed a Calendar object were rotating the timezone
in the wrong direction. Rewrite this code to use the existing
TimestampUtils methods to match the working code in ResultSets.
(jurka) Thanks to Ravi Periasmy.
* fix Produce the timezone that we send to the server in the
same format that we can parse. This is important for updatable
ResultSets as we must be able to parse the format we produce.
(jurka) Thanks to Leon Do.
* fix Fix persistence of XA datasources. PGObjectFactory wasn't
aware of PGXADataSource and can't be because of the requirements
for different build versions. Add a new PGXADataSourceFactory
to provide this functionality. (jurka) Thanks to Heikki
Linnakangas.
* fix Fix the error message generated by a CallableStatement
not getting results that match the registered out parameters
to report the correct parameter position. (jurka)
* fix Interval formatting didn't work for negative seconds
values greater than -1. It would format it as -.5, but interval
input doesn't accept this, so write it as -0.5 instead. (jurka)
* fix Allow updatable ResultSets to update arrays. (jurka)
Thanks to Vasylenko.
* fix In an error message reporting an unparseable timestamp
value the code was trying to put the unparseable portion into
the error message, but used the wrong variable to get the
correct length. (jurka)
Version 8.2-507 (2007-12-02)
* fix When doing batch execution we can have multiple Parse
and DescribeStatement messages on the wire at the same time.
When we finally get around to collecting the DescribeStatement
results we must check whether they still apply to the currently
parsed query. Otherwise we'll overwrite our type information
with stale data that will cause failures down the line. (jurka)
Thanks to Eric Faulhaber.
* fix CallableStatements with OUT parameters that get executed
more than prepareThreshold times failed if clearParameters()
was called in between executions. When we've hit the
prepareThreshold, we no longer send Parse messages which invoke
SimpleParameterList.getTypeOID which has side effects required
to setup the parameters correctly. Add an explicit
convertFunctionOutParameters method to do this work instead
that we call in all execution paths. (jurka) Thanks to Ludovico
Bianchini.
* fix The driver was incorrectly parsing identifiers that had
parts that look like dollar quotes. Things like a$b$c are valid
identifiers, not dollar quotes. When determining if a $ we've
found is a dollar quote start, look at the preceding character
and see if it is a valid identifier part to determine if we're
in the midst of an identifier or are starting a new token.
(jurka) Thanks to Michael Paesold.
* fix Multiple calls to XAConnection.getConnection within the
same user transaction ended up restarting the transaction on
the server side as a result of manipulating the autocommit
state. When retrieving a Connection, we must pay attention to
whether a user transaction is in progress when setting the
autocommit state. (jurka) Thanks to Heikki Linnakangas.
* fix Support NULL array elements. (jurka) Thanks to Christian
Schröder.
* fix Make code that parses queries for updateable resultsets
aware of the ONLY clause. (jurka) Thanks to Oleg Vasylenko.
* fix While custom type maps are not implemented, the code to
detect the caller trying to use them threw a ClassCastException.
Correctly detect the attempted use of custom types and bail
out with a SQLException. (jurka)
Version 8.2-506 (2007-07-31)
* add Make setObject recognize a parameter of type java.lang.Byte.
(jurka) Thanks to Boom Roos.
* update Brazilian Portuguese translation update. (jurka) Thanks
to Euler Taveira de Oliveira.
* update Serbian translation updates. (jurka) Thanks to Bojan
Skaljac.
* fix Updatable ResultSets did not work when updating bytea
data and then retrieving it because we send the data to the
server in binary format, but the ResultSet was expecting to
read it in text format. So we need to convert the data from
binary to text format before stuffing it into the ResultSet.
(jurka) Thanks to Mikko Tiihonen.
* fix ResultSet.updateNClob(String, Reader) goes into an infinite
loop. It really meant to call updateNClob(int, Reader), but
was calling itself instead. (jurka) Thanks to Mikko Tiihonen.
* fix Do escape processing on batch Statements prior to execution.
This already worked for PreparedStatements, but not plain
Statements. (jurka) Thanks to Hui Ye.
* fix Don't return quotes around identifiers in the results of
DatabaseMetaData.getIndexInfo even if they would require quoting
in SQL. (jurka) Thanks to Andrei Badea.
* fix When retrieving the columns of a function that returns
a complex type, don't retrieve system columns (like xmin/xmax/...)
that you'll find if the type is from a table. (jurka)
* fix The previous fix to try and set a XA based Connection's
autocommit property correctly didn't quite work. Calling
XAConnection.getConnection set autocommit to true even if we
already had a transaction in progress. (jurka) Thanks to Luca
Ferrari, Heikki Linnakangas.
* fix Error message was reporting the wrong parameter type
value in the V3 protocol's SimpleParameterList implementation.
(jurka) Thanks to Nathan Keynes.
* fix Explicitly state which source level we are compiling.
Newer versions of gij/gcj run a 1.5 VM, but default to a 1.4
source level compile which tricks up our build system. This
still doens't fix the case of running with a newer VM than
compiler, but I don't see what we can do about that. (jurka)
Thanks to Tom Lane, Oliver Jowett.
Version 8.2-505 (2007-04-18)
* add Initial Serbian translation. (jurka) Thanks to Bojan
Skaljac.
* add Implement ResultSet.updateArray by simply mapping it to
updateObject which now works for arrays. (jurka)
* fix Statement.getTime, .getDate, and .getTimestamp methods
which are passed a Calendar object were rotating the timezone
in the wrong direction. Rewrite this code to use the existing
TimestampUtils methods to match the working code in ResultSets.
(jurka) Thanks to Ravi Periasmy.
* fix Produce the timezone that we send to the server in the
same format that we can parse. This is important for updatable
ResultSets as we must be able to parse the format we produce.
(jurka) Thanks to Leon Do.
* fix Make Large Object handling work when the oid counter has
exceeded Integer.MAX_VALUE by handling oids as longs. (jurka)
* fix Fix persistence of XA datasources. PGObjectFactory wasn't
aware of PGXADataSource and can't be because of the requirements
for different build versions. Add a new PGXADataSourceFactory
to provide this functionality. (jurka) Thanks to Heikki
Linnakangas.
* fix Fix the error message generated by a CallableStatement
not getting results that match the registered out parameters
to report the correct parameter position. (jurka)
* fix Interval formatting didn't work for negative seconds
values greater than -1. It would format it as -.5, but interval
input doesn't accept this, so write it as -0.5 instead. (jurka)
* fix Change DatabaseMetaData.getSearchStringEscape to always
return "\\" instead of "\\\\". Previously it was assuming that
it would be fed directly into a query and it needed to escape
itself for the backend's input parser. This doesn't work for
things like PreparedStatement parameters or DatabaseMetaData
methods that take patterns. (jurka) Thanks to Valery Meshkov.
* fix Allow updatable ResultSets to update arrays. (jurka)
Thanks to Vasylenko.
* fix In an error message reporting an unparseable timestamp
value the code was trying to put the unparseable portion into
the error message, but used the wrong variable to get the
correct length. (jurka)
* fix Parse timezones that have offsets in seconds. 8.2 servers
now return this information so we must be able to handle it.
(jurka)
This release contains a variety of fixes from 8.1.10, including fixes
for significant security issues.
This is the last 8.1.X release for which the PostgreSQL community will
produce binary packages for Windows. Windows users are encouraged to
move to 8.2.X or later, since there are Windows-specific fixes in 8.2.X
that are impractical to back-port. 8.1.X will continue to be supported
on other platforms.
This release contains a variety of fixes from 8.0.14, including fixes
for significant security issues.
This is the last 8.0.X release for which the PostgreSQL community will
produce binary packages for Windows. Windows users are encouraged to
move to 8.2.X or later, since there are Windows-specific fixes in 8.2.X
that are impractical to back-port. 8.0.X will continue to be supported
on other platforms.
Highlights from NEWS:
- 0.34 | 2007-12-13
- License now GPLv3+ (see COPYING)
- New (database postgres) procs
- pg-finish
- pg-flush
- Tested against PostgreSQL 7.4.18
- 0.33 | 2007-05-20
- New type converters in module (database postgres-types)
int decimal numeric varchar character bytea
- New support for special constructs in (database postgres-qcons)
(in/set A B...) => A IN ( B, ... )
(between A B C) => ( A BETWEEN B AND C )
(any--OP A B) => ( A OP ANY B )
(all--OP A B) => ( A OP ALL B )
For the latter two, OP is a comparison operator, e.g `='.
Parentheses and commas are added automatically.
- 0.32 | 2007-04-11
- New command for `pgtable-manager': #:tuples-result->rows
This uses `(database postgres-resx) result->object-rows'.
For example:
(define T (pgtable-worker ...))
(define R (T #:select ...))
(equal? (T #:tuples-result->rows R)
(map (lambda (x)
(map cdr x))
(T #:tuples-result->alists R)))
=> #t
- 0.31 | 2007-04-03
- Opaque string support removed
Opaque string support in modules (database postgres-table) and
(database postgres-qcons) has been removed. This was announced
in NEWS below for Guile-PG 0.30 (2006-04-04).
- Support for `pgtable-manager' "data commands" removed
Announced in NEWS below for Guile-PG 0.30 (2006-04-04).
- 0.30 | 2006-04-04
- New stuff for `pgtable-manager' (and by extension `pgtable-worker')
- Support for NULL
You can now use the keyword #:NULL to specify NULL as the value
to insert into a table, or to update a column.
- New command: #:update-col-alist
This is like #:update-col, except that the COLS and DATA are
specified as a single alist arg, not separately.
- New (database postgres) procs
The following procs are associated with the `PQPROTOCOLVERSION'
feature in the `pg-guile-pg-loaded' return value. Note that
this is in contrast to the one-to-one correspondance between
feature and libpq function for previous Guile-PG releases.
- pg-protocol-version
- pg-transaction-status
- pg-parameter-status
- pg-set-error-verbosity
- pg-result-error-field
- pg-ftable
- pg-ftablecol
- pg-fformat
These adhere closely to the C functions in the libpq interface.
Here is a table listing the functions and their behavior for
installations prior to PostgreSQL 7.4.
libpq func behavior: do nothing and return
PQprotocolVersion 2
PQtransactionStatus #:unknown
PQparameterStatus #f
PQsetErrorVerbosity #:default
PQresultErrorField #f
PQftable #f
PQftablecol #f
PQfformat #f
- pg-put-copy-data
- pg-put-copy-end
- pg-get-copy-data
These have a simplified, "more Schemey", interface. They cannot
be used when connected to a "Protocol 2.0" (PostgreSQL 7.3.x and
prior) server.
- pg-exec-params
- pg-exec-prepared
- pg-send-query-params
- pg-send-query-prepared
These have a simplified, "more Schemey", interface, and some
serious (though provisionary) restrictions. They cannot be used
when connected to a "Protocol 2.0" (PostgreSQL 7.3.x and prior)
server. See new section "Parameters" in the manual for details.
* Support for setuptools (building .egg, thanks to Torsten)
* Support for matched values control
* Fixed ldif
* ldap.schema.models: SUP now separated by $
* Added constant MOD_INCREMENT to support
modify+increment extension
Changes 2.2.1:
* OpenLDAP 2.3+ required now to build.
* Added support for Cancel operation ext. op. if supported
in OpenLDAP API of the libs used for the build.
* Removed deprecated code for setting options by name
* Added l_ldap_cancel()
Works with both php4 and php5.
Postgresql driver's ServerInfo() function now works properly.
Added a new session handler, in adodb-session2.php.
ADODB_ACTIVE_RECORD, added find() method, and new constructor method
ODBC_DB2 driver now works properly
New BindDate() and BindTimeStamp() functions in connection object
New SetTransactionMode()
Changes:
2007-10-18 Mikio Hirabayashi <mikio@users.sourceforge.net>
- A potential defect related to leaf division of B+ tree was cleared.
- Release: 1.8.77
the file lemon.c uses the same identifiers (B_TRUE, B_FALSE) as the
<sys/types.h> header, and therefore fails to build.
Changes since 3.4.2:
2007 Nov 05 (3.5.2)
* Dropped support for the SQLITE_OMIT_MEMORY_ALLOCATION compile-time
option.
* Always open files using FILE_FLAG_RANDOM_ACCESS under windows.
* The 3rd parameter of the built-in SUBSTR() function is now
optional.
* Bug fix: do not invoke the authorizer when reparsing the schema
after a schema change.
* Added the experimental malloc-free memory allocator in mem3.c.
* Virtual machine stores 64-bit integer and floating point constants
in binary instead of text for a performance boost.
* Fix a race condition in test_async.c.
* Added the ".timer" command to the CLI
2007 Oct 04 (3.5.1)
* Nota Bene: We are not using terms "alpha" or "beta" on this release
because the code is stable and because if we use those terms,
nobody will upgrade. However, we still reserve the right to make
incompatible changes to the new VFS interface in future releases.
* Fix a bug in the handling of SQLITE_FULL errors that could lead to
database corruption. [11]Ticket #2686.
* The test_async.c drive now does full file locking and works
correctly when used simultaneously by multiple processes on the
same database.
* The CLI ignores whitespace (including comments) at the end of lines
* Make sure the query optimizer checks dependences on all terms of a
compound SELECT statement. [12]Ticket #2640.
* Add demonstration code showing how to build a VFS for a raw mass
storage without a filesystem.
* Added an output buffer size parameter to the xGetTempname() method
of the VFS layer.
* Sticky SQLITE_FULL or SQLITE_IOERR errors in the pager are reset
when a new transaction is started.
2007 Sep 04 (3.5.0) alpha
* Redesign the OS interface layer. See [13]34to35.html for details.
*** Potentially incompatible change ***
* The [14]sqlite3_release_memory(), [15]sqlite3_soft_heap_limit(),
and [16]sqlite3_enable_shared_cache() interfaces now work cross all
threads in the process, not just the single thread in which they
are invoked. *** Potentially incompatible change ***
* Added the [17]sqlite3_open_v2() interface.
* Reimplemented the memory allocation subsystem and made it
replacable at compile-time.
* Created a new mutex subsystem and made it replacable at
compile-time.
* The same database connection may now be used simultaneously by
separate threads.
Changes from 0.33:
0.35 Sun Jun 10 16:36:07 EST 2007
- Add checking of PID in database handles to prevent trouble
in forked environments (Perrin Harkins and Sam Tregar)
0.34 Mon Sep 5 09:10:37 UTC 2005
- Remove Class::WhiteHole from PREREQs (Alexey Tourbin)
Change since version 2.10.2:
- creating VIEWs from query results
- managing triggers, procedures and functions
- supports MySQL 5.0.37 query profiling
- improved interface for servers hosting thousands of databases and tables.
- security fixes for PMASA-2007-5, PMASA-2007-6 and PMASA-2007-7
Added support for !Time and !Time~N to DBI::Profile Path. See docs.
Added extra trace info to connect_cached thanks to Walery Studennikov.
Added non-random (deterministic) mode to DBI_GOFER_RANDOM mechanism.
Added DBIXS_REVISION macro that drivers can use.
Added more docs for private_attribute_info() method.
Fixed DBI::ProfileData to not clobber $_, thanks to Alexey Tourbin.
Fixed DBI::SQL::Nano to not clobber $_, thanks to Alexey Tourbin.
Fixed DBI::PurePerl to return undef for ChildHandles if weaken not available.
Fixed DBD::Proxy disconnect error thanks to Philip Dye.
Fixed DBD::Gofer::Transport::Base bug (typo) in timeout code.
Fixed DBD::Proxy rows method thanks to Philip Dye.
Fixed dbiprof compile errors, thanks to Alexey Tourbin.
Fixed t/03handle.t to skip some tests if ChildHandles not available.CV
See http://search.cpan.org/~timb/DBI/Changes for all the details
into the Packages Collection. This package is meant to support data
warehousing in a much more efficient manner than traditional RDBMSs.
C-Store is a read-optimized relational DBMS that contrasts sharply
with most current systems, which are write-optimized. Among the many
differences in its design are:
+ storage of data by column rather than by row,
+ careful coding and packing of objects into storage including main
memory during query processing,
+ storing an overlapping collection of column-oriented projections,
rather than the current fare of tables and indexes,
+ a non-traditional implementation of transactions which includes high
availability and snapshot isolation for read-only transactions,
+ and the extensive use of bitmap indexes to complement B-tree
structures.
Please note that the storage required for this package could be viewed
as being quite extreme - the standard build and data occupies in excess
of 20 GB, and that is all installed into ${PREFIX} at installation
time.
Changes from 1.01:
1.03 Mon Dec 27 2004
- Revert to DBD::SQLite (rather than SQLite2) in tests
- no warnings 'uninitialized'
1.02 Mon Dec 27 2004
- Fix double execute bug in tests
- Updated to SQLite 3.4.2
- Switch to sqlite3_prepare_v2 which fixes a number of bugs with re-using statements
- Fix bug with overflowing integers in user defined functions
- Fix bug when building under no-threads perl
then automatically generate a PLIST that says "${PKGNAME} has no files".
* If PLIST_SRC and GENERATE_PLIST are not set in a package Makefile,
and no PLIST files exist, then fail during the package build with
PKG_FAIL_REASON.
* Remove "intentionally empty" PLISTs again.
Now, the easy way to say that a package installs no files is to just
add the following to the package Makefile:
PLIST_SRC= # empty
that directly manipulate empty PLISTs.
Modify plist/plist.mk so that if the PLIST files are missing and no
GENERATE_PLIST is defined, then the package fails to build.
Changes:
* Depend on Action Pack 1.4.4
* Fix #count on a has_many :through association so that it recognizes the
:uniq option. Closes#8801 [lifofifo]
* Don't clobber includes passed to has_many.count [danger]
* Make sure has_many uses :include when counting [danger]
* Save associated records only if the association is already loaded. #8713
* Changing the :default Date format doesn't break date quoting. #6312
* Allow nil serialized attributes with a set class constraint. #7293
* belongs_to assignment creates a new proxy rather than modifying its target
in-place. #8412 [mmangino@elevatedrails.com]
* Fix column type detection while loading fixtures. Closes#7987 [roderickvd]
* Document deep eager includes. #6267 [Josh Susser, Dan Manges]
* Oracle: extract column length for CHAR also. #7866 [ymendel]
* Small additions and fixes for ActiveRecord documentation. Closes#7342
* SQLite: binary escaping works with $KCODE='u'. #7862 [tsuka]
* Improved cloning performance by relying less on exception raising #8159
The ``adminpack'' PostgreSQL contrib module implements a number of
support functions which pgAdmin and other administration and management
tools can use to provide additional functionality if installed on a
server.
* Prevent index corruption when a transaction inserts rows and then
aborts close to the end of a concurrent "VACUUM" on the same table
* Fix ALTER DOMAIN ADD CONSTRAINT for cases involving domains over
domains
* Make "CREATE DOMAIN ... DEFAULT NULL" work properly
* Fix some planner problems with outer joins, notably poor size
estimation for t1 LEFT JOIN t2 WHERE t2.col IS NULL
* Allow the interval data type to accept input consisting only of
milliseconds or microseconds
* Allow timezone name to appear before the year in timestamp input
* Fixes for GIN indexes used by "/contrib/tsearch2"
* Speed up rtree index insertion
* Fix excessive logging of SSL error messages
* Fix logging so that log messages are never interleaved when using
the syslogger process
* Fix crash when log_min_error_statement logging runs out of memory
* Fix incorrect handling of some foreign-key corner cases
* Fix stddev_pop(numeric) and var_pop(numeric)
* Prevent "REINDEX" and "CLUSTER" from failing due to attempting to
process temporary tables of other sessions
* Update the time zone database rules, particularly New Zealand's
upcoming changes
* Windows socket and semaphore improvements
* Make "pg_ctl -w" work properly in Windows service mode
* Fix memory allocation bug when using MIT Kerberos on Windows
* Suppress timezone name (%Z) in log timestamps on Windows because of
possible encoding mismatches
* Require non-superusers who use "/contrib/dblink" to use only
password authentication, as a security measure
* Restrict "/contrib/pgstattuple" functions to superusers, for
security reasons
* Do not let "/contrib/intarray" try to make its GIN opclass the
default (this caused problems at dump/restore)
* Prevent index corruption when a transaction inserts rows and then
aborts close to the end of a concurrent "VACUUM" on the same table
* Make "CREATE DOMAIN ... DEFAULT NULL" work properly
* Allow the interval data type to accept input consisting only of
milliseconds or microseconds
* Speed up rtree index insertion
* Fix excessive logging of SSL error messages
* Fix logging so that log messages are never interleaved when using
the syslogger process
* Fix crash when log_min_error_statement logging runs out of memory
* Fix incorrect handling of some foreign-key corner cases
* Prevent "REINDEX" and "CLUSTER" from failing due to attempting to
process temporary tables of other sessions
* Update the time zone database rules, particularly New Zealand's
upcoming changes
* Windows socket improvements
* Suppress timezone name (%Z) in log timestamps on Windows because of
possible encoding mismatches
* Require non-superusers who use "/contrib/dblink" to use only
password authentication, as a security measure
* Prevent index corruption when a transaction inserts rows and then
aborts close to the end of a concurrent "VACUUM" on the same table
* Make "CREATE DOMAIN ... DEFAULT NULL" work properly
* Fix excessive logging of SSL error messages
* Fix logging so that log messages are never interleaved when using
the syslogger process
* Fix crash when log_min_error_statement logging runs out of memory
* Fix incorrect handling of some foreign-key corner cases
* Prevent "CLUSTER" from failing due to attempting to process
temporary tables of other sessions
* Update the time zone database rules, particularly New Zealand's
upcoming changes
* Windows socket improvements
* Suppress timezone name (%Z) in log timestamps on Windows because of
possible encoding mismatches
* Require non-superusers who use "/contrib/dblink" to use only
password authentication, as a security measure
While stress-testing the soft_heap_limit feature, a bug that could
lead to database corruption was discovered and fixed. Though the
consequences of this bug are severe, the chances of hitting it in
a typical application are remote. Upgrading is recommended only if
you use the sqlite3_soft_heap_limit interface.