=== 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)