Changes in 1.2.0
* Updated bundled erlang_oauth library to the latest version.
* cURL is no longer required to build CouchDB as it is only
required by the command line JS test runner.
* Added a native JSON parser.
* Optional file compression (database and view index files). This feature
is enabled by default.
* Several performance improvements, especially regarding database
writes and view indexing.
* Added a 'data_size' property to database and view group
information URIs.
* Added support for automatic compaction. This feature is disabled
by default, but it can be enabled via the .ini configuration.
* A new replicator implementation that offers more performance
and configuration options.
* Added optional field 'since_seq' to replication objects/documents.
* Simpler replication cancelation.
* The _active_tasks API now exposes more granular fields for each
task type.
* Futon's 'Status' screen (active tasks) now displays two new task
status fields: 'Started on' and 'Updated on'.
* Added built-in changes feed filter '_view'.
* Fixed old index file descriptor leaks after a view cleanup.
* Performance improvements for the built-in changes feed filters
'_doc_ids' and '_design'.
* Fixes to the '_changes' feed heartbeat option when combined with
a filter. It affected continuous pull replications with a filter.
* Fix use of OAuth with VHosts and URL rewriting.
* OAuth secrets can now be stored in the users system database.
* Documents in the _users database can no longer be read by everyone.
* Confidential information in the _replication database can no longer
be read by everyone.
* Password hashes are now calculated by CouchDB instead of the client.
* Allow persistent authentication cookies.
* The requested_path property of query server request objects now has
the path requested by clients before VHosts and rewriting.
* Fixed incorrect reduce query results when using pagination parameters.
* Made icu_driver work with Erlang R15B and later.
* Improvements to the build system and etap test suite.
* Avoid invalidating view indexes when running out of file descriptors.
* Log correct stacktrace in all cases.
* Improvements to log messages for file-related errors.
* Sat May 19 2012 (1.1.1)
* Support build with ocaml/msvc and ocaml/mingw (Dmitry Grebeniuk)
* Update build tools (Dmitry Grebeniuk)
* OCaml 3.12 compatibility
* Mysql.Prepared: documentation comments
* Mysql.Prepared.result_metadata (Hezekiah M. Carty)
* Mysql.quick_connect: optional unix socket path
* Mysql.quick_connect: optional connection options
* Sat Dec 26 2009 (1.1.0)
* Project moved to http://ocaml-mysql.forge.ocamlcore.org
* Fix crash bugs (mainly in GC & threads interaction)
* Trigger GC less often (Mysql.connect and Mysql.execute)
* Mysql.real_escape (Debian patch)
* Mysql.set_charset
* Preliminary support for prepared statements (Mysql.Prepared)
Changes to the package: changed maintainer from pkgsrc-users to myself;
incorporated upstream move to other address; added license; added native code
build.
2012-07-20: Downgraded findlib version requirement to support the Debian
testing branch.
2012-07-16: Replaced String.trim function in myocamlbuild.ml to allow
compiling with OCaml 3.12.1.
2012-07-15: New major release version 2.0.0:
* Upgraded to OCaml 4.00
* Switched to Oasis for packaging
* Switched to OCamlBuild for the build process
* Rewrote README in Markdown
* Added stricter compilation flags
2012-05-19: Fixed cpp warnings and removed superfluous check for dynamic
linking library. The latter improves portability to FreeBSD.
2011-03-10: Added sqlite3_open_v2 functionality.
There are also some changes to the package itself: the upstream distribution
site changed; the maintainer e-mail address as well, and the package now
uses PLIST_VARS.
While here, let to use OpenSSL instead of internal yaSSL with ssl option,
may related to PR 46912.
Changes in MySQL 5.1.65 (2012-08-09)
Functionality Added or Changed
* Important Change: The YEAR(2) data type is now deprecated because it is
problematic. Support for YEAR(2) will be removed in a future release of MySQL.
For more information, see Section 11.3.4, "YEAR(2) Limitations and Migrating
to YEAR(4)".
Bugs Fixed
* The server did not build with gcc 4.7. (Bug #14238406)
Changes in MySQL 5.1.64 (Not released)
Functionality Added or Changed
* Important Change: Replication: The SHOW BINARY LOGS statement (and its
equivalent SHOW MASTER LOGS) may now be executed by a user with the
REPLICATION CLIENT privilege. (Formerly, the SUPER privilege was necessary to
use either form of this statement.)
2012-08-23
Version 3.4.1 -- The "A tiger? In Africa?!" bug fix release.
Mention in the release that upgrading is advised for two critical issues:
-> error in export to xml of family order in 3.4.0, now fixed
-> crash in windows after some use due to too much terminal output in 3.4.0, now fixed
* Some platform-specific fixes (Windows, OSX)
* Bug fixes
* Translation updates
* Changelog: http://www.gramps-project.org/bugs/changelog_page.php?version_id=31
2012-05-21
Version 3.4.0 -- The "always look on the bright side of life" feature release.
* Lots of changes and bug fixes to every part of Gramps, including XML
import/export, image handling, gedom handling, Gramplets, date handling,
citations, reports, more!
* Some platform-specific fixes (Windows, OSX, Linux)
* What's new (and what to do before you upgrade): http://goo.gl/K3RDV
* Roadmap: http://goo.gl/GJhjH
* Many translation updates
to 1.97.
pkgsrc changes:
- fix dependencies
upstream changes:
1.97 Mon 21 May 2012
- Use reproducible longdouble in tests (HMBRAND)
1.96 Mon 27 Feb 2012
- Fixed a crash in the legacy delete emulation where the condition
clause provided was a constant or read-only.
1.95 Mon 27 Feb 2012
- Fixed a fatal rowid big when generating in array mode
1.94 Mon 27 Feb 2012
- Fixed a fatal rowid bug when a table had a single non-INTEGER
primary key.
- Fixed bug in affinity detection code to now set REAL and
NUMERIC affinity correctly.
1.93 Mon 27 Feb 2012
- The previous release 1.92 was done with a missing commit,
this release restores that missing code.
1.92 Mon 27 Feb 2012
- Add the ->delete_where method for bulk deletion
- Always do the initial metadata scan using ReadOnly => 1.
- When generating readonly, DBI connections use ReadOnly => 1 too.
- Quote identifiers more correctly via $dbh->quote_identifier.
- Temporarily restory the static delete call to prevent breaking
Padre and other applications still using the old version of
delete.
1.91 Thu 23 Feb 2012
- Calculate column affinity types in the metadata preparation phase
- Throw an exception when tables contain BLOB types and the database
is unicode, as the blob data will be corrupted.
- Improved testing for blobs and unicode, and TODO a known problem
1.90 Tue 21 Feb 2012
- Removed x_rowid parameter and make the rowid logic compulsory.
- Removed x_update parameter and make update method compulsory at
the table level but do not generate on the root level.
- As a result, ORLite now supports creating and updating objects
even when they come from tables without primary keys.
- Pending release as 2.00 once clarifying documentation is written.
1.54 Tue 21 Feb 2012
- Added experimental x_rowid parameter to maintain SQLite rowids in
the objects
1.53 Tue 21 Feb 2012
- Add a ->id convenience method alias when table 'foo' has a single
numeric primary key 'foo_id' so you can use $foo->id
1.52 Sat 21 Jan 2012
- Added initial unicode => 1 support (MEMOWE)
- Bumped Params::Util dependency to 1.0 for *LIKE fixes (ADAMK)
databases/p5-DBIx-Class-Schema-Loader from 0.07031 to 0.07033.
upstream changes:
0.07033 2012-09-09 16:11:47
- more thoroughly document the new behavior for relationship
attributes under "relationship_attrs" in ::Base POD
- add a loud WARNING to Makefile.PL about the new behavior for
relationship attributes
0.07032 2012-09-09 13:17:20
- SQLite: detect is_deferrable for inline FKs
- support coderefs for relationship_attrs
from 0.08196 to 0.08200.
pkgsrc changes:
- update and adjust dependencies
upstream changes:
0.08200 2012-08-24 (UTC)
* Fixes
- Change one of the new tests for the previous release to not require
SQL::Translator
0.08199 2012-08-22 (UTC)
same as devrel
0.08198_01 2012-07-25 (UTC)
* Fixes
- Roll back incomplete (and broken) internal changes - restore prefetch functionality
0.08198 2012-07-11 03:43 (UTC)
* Fixes
- Fix a number of Win32 Test issues
- Fix silent Oracle connection failures
0.08197 2012-07-10 10:32 (UTC)
* New Features / Changes
- Issue a warning when DateTime objects are passed to ->search
- Fast populate() in void context is now even more efficient by
going directly through execute_for_fetch bypassing execute_array
- Fix update()/delete() on complex resultsets to no longer fall back
to silly row-by-row deletion, construct a massive OR statement
instead
- Allow complex update/delete operations on sources without a
primary key, as long as they have at least one non-nullable
unique constraint
- dbicadmin now better supports catalyst-style config files, by
unrolling 'config_info' hashkeys
- Multiple Improvements MSSQL over DBD::ADO
- Transaction support
- Support for VARCHAR(MAX)/VARBINARY(MAX)/NVARCHAR(MAX) datatypes
- Nomalization of retrieved GUID values
* Fixes
- Fix complex has_many prefetch with resultsets not selecting identity
columns from the root result source
- Fix SkipFirst and FirstSkip limit dialects (Informix and Firebird)
- Fix "Skimming limit" dialects (Top, FetchFirst) to properly check
the order_by criteria for stability
- Fix "Skimming limit" dialects (Top, FetchFirst) to propagate
non-selected order criteria when part of a larger subquery
- Fix RowNumberOver and all "skimming limits" to correctly assemble
bind values when supplied for both select and order_by
- Fix all subquery-based dialects to not lose a subquery fragment
when we both select and order by the result of the same subquery
- Fix the Sybase hubrid limit dialect (RowCountOrGenericSubQ) losing
Group/Having/Order clauses when called without an offset (RT#73244)
- No longer generate incorrect SQL on ->as_query called on resultsets
with software_limit enabled
- A number of corner case fixes of void context populate() with \[]
- Fix corner case of forked children disconnecting the parents DBI
handle
- Improve identity/autoinc retrieval code in MSSQL and Sybase -
should reduce weird side-effects especially with populate()
- Explicitly disable DBD::ODBC batch operations (as of DBD::ODBC 1.35)
for the following drivers too buggy to handle the optimized path:
- FreeTDS ODBC driver (when used with MSSQL)
- The Firebird ODBC driver
- The MSAccess ODBC driver
- Explicitly disable DBD::ODBC dynamic_cursors when using freetds 0.83
or later - they made enough ODBC incompatible changes making it
impossible to support sanely
- Explicitly disable SCOPE_IDENTITY queries and statement caching for
MSSQL on DBD::Sybase compiled against freetds 0.83 or later - way too
buggy
- Disable statement caching when using Sybase ASE and DBD::Sybase
compiled against freetds 0.83 or later
- Fix leakage of $schema on in-memory new_related() calls
- Fix more cases of $schema leakage in SQLT::Parser::DBIC
- Fix leakage of $storage in ::Storage::DBI::Oracle
- Fix pessimization of Oracle RowNum limit dialect query when no
offset has been specified
- Remove useless vestigial pessimization in Ordered.pm for cases
when the position column is part of a unique constraint
- Fix dbicadmin to no longer ignore the documented 'config' option
- The schema-resultsource entanglement is now much more robust
under threads
- Fix ::Schema::ddl_filename() failing miserably on paths containing
certain numeric sequences
- t/53lean_startup.t adjusted for new 5.15.x base.pm behavior
* Misc
- Centralized leak-checks for all instances of DBICTest::Schema
from within any test
- Now passes all tests with Test::Builder 1.005
- Codebase is now trailing-whitespace-free
- Cleanup of complex resultset update/delete oprations - storage
specific code moved back to ResultSet and replaced by checks
of storage capabilities
- Fixed carp_once only emitting one single warning per package
regardless of warning content
- Test suite now can be safely executed in parallel (prove -jN
or HARNESS_OPTIONS=jN)
from 1.72nb1 to 1.73.
pkgsrc changes:
- update dependencies
upstream changes:
revision 1.73 2012-07-10
----------------------------
- Fix parsing of ORDER BY foo + ?
- Stop filling in placeholders in `format-sql` since it does not support
passing values for them anyway
- Fix parsing of NOT EXISTS
- Fix over-eager parenthesis unrolling
- Fix deep recursion warnings while parsing obnoxiously long sql statements
- Fix incorrect comparison of malformed lists
- Fix incorrect reporting of mismatch-members in SQLA::Test
- Migrate the -ident operator from DBIC into SQLA
- Migrate the -value operator from DBIC into SQLA
0.35 to 0.36.
pkgsrc changes:
- bump required version of textproc/p5-Text-CSV_XS
Upstream changes:
0.36 - 2012-08-22, H.Merijn Brand
* Add line/record number and position in error messages
databases/p5-DBIx-Class-Schema-Loader from 0.07012 to 0.07031.
pkgsrc changes:
- adjusting dependencies according to distribution's meta information
Upstream changes since 0.07012:
0.07031 2012-09-06 15:07:08
- fix 02pod.t failure due to lack of =encoding utf8 statement (patch by
Marcel Gruenauer) (RT#79481)
0.07030 2012-09-06 03:27:09
- allow user to set qualify_objects=0 in multischema configurations
(andrewalker)
0.07029 2012-09-05 16:41:56
- Oracle: introspect ON DELETE and DEFERRABLE FK clauses
- Oracle WARNING: on_delete is now 'NO ACTION' by default, not
'CASCADE'. on_update is now 'NO ACTION' by default (Oracle does not
have update rules, this was done to preserve the behavior of the
schema when cross-deploying to SQLite.) is_deferrable is now
0 by default, not 1.
- DB2: introspect ON DELETE/UPDATE FK clauses
- DB2 WARNING: the default for on_delete/on_update is now 'NO ACTION'
not 'CASCADE', the default for is_deferrable is still 1 because DB2
does not have deferrable constraints.
- SQLite: introspect ON DELETE/UPDATE and DEFERRABLE FK clauses
- SQLite WARNING: the default for on_delete/on_update is now 'NO ACTION'
not 'CASCADE', and the default for is_deferrable is now 0 not 1.
0.07028 2012-08-30 05:32:42
- MSSQL: introspect ON DELETE/UPDATE clauses for foreign keys
- MSSQL WARNING: the default for on_delete/on_update is now 'NO ACTION'
not 'CASCADE'.
0.07027 2012-08-26 22:39:45
- PostgreSQL: introspect ON DELETE/UPDATE clauses for foreign keys and
the DEFERRABLE clause.
- PostgreSQL WARNING: the default for on_delete/on_update attributes for
belongs_to relationships is now 'NO ACTION' not 'CASCADE! The default
for is_deferrable is now 0 not 1.
0.07026 2012-08-26 01:01:26
- MySQL: introspect ON DELETE/UPDATE clauses for foreign keys.
- MySQL WARNING: the default on_delete/on_update attributes for
belongs_to relationships is now RESTRICT, *NOT* CASCADE! This is
overridable via the relationship_attrs option.
0.07025 2012-06-08 22:48:05
- support SQL Server 2000 again (broken in 0.07011)
- some slight optimization for SQL Server driver
0.07024 2012-05-08 15:35:16
- work around broken keyseq in DBD::Pg foreign_key_info (RT#77062)
0.07023 2012-05-05 11:44:15
- properly order FK columns when using base ::DBI loader (SineSwiper)
- bump Class::Inspector dep to 1.27 due to test failures with earlier
versions on perl >= 5.15.7 (RT#74236)
0.07022 2012-04-08 12:11:00
- do separate queries for default_value on Sybase ASE as some servers
can't join to that table (pcmantz) (RT#74170)
- set correct size for nchar/nvarchar columns for Sybase ASE,
depending on @@ncharsize
0.07021 2012-04-04 23:47:34
- use ::Schema::connect instead of ::Schema::connection in
make_schema_at (RT#74175)
- register sources on the schema class, never the instance, regardless
of how the connection is made for dynamic schemas
0.07020 2012-03-31 21:34:06
- fix some mro issues under perl 5.8
0.07019 2012-03-28 17:23:09
- fix some errors due to case issues (RT#75805)
0.07018 2012-03-27 05:55:10
- skip dbicdump tests on Win32 due to test fails (RT#75732)
- fix undefined warnings for DBDs without schemas
- work around ORA-24345 from $dbh->column_info
- fix spelling mistake in Base POD (RT#74796)
0.07017 2012-02-07 07:23:48
- *EXPERIMENTAL* support for dumping PostgreSQL schemas inside of a
transaction
- use DBI table_info/column_info REMARKS field if/where available for
table/column comments (SineSwiper)
- better compatibility with more DBDs (SineSwiper)
0.07015 2011-12-09 10:36:17
- generate many_to_many bridges for targets of link tables
0.07014 2011-11-18 17:06:34
- fix a bug in the automatic multischema clashing moniker disambiguation
code that overwrote $loader->moniker_parts
0.07013 2011-11-17 23:12:47
- automatically prefix database/schema to clashing monikers for
the same table name in multischema configurations
* Drop built-in support for OS/2. If you need to upgrade an OS/2 application to
use this or a later version of SQLite, then add an application-defined VFS
using the sqlite3_vfs_register() interface. The code removed in this release
can serve as a baseline for the application-defined VFS.
* Ensure that floating point values are preserved exactly when reconstructing a
database from the output of the ".dump" command of the command-line shell.
* Added the sqlite3_close_v2() interface.
* Updated the command-line shell so that it can be built using
SQLITE_OMIT_FLOATING_POINT and SQLITE_OMIT_AUTOINIT.
* Improvements to the windows makefiles and build processes.
* Enhancements to PRAGMA integrity_check and PRAGMA quick_check so that they
can optionally check just a single attached database instead of all attached
databases.
* Enhancements to WAL mode processing that ensure that at least one valid
read-mark is available at all times, so that read-only processes can always
read the database.
* Performance enhancements in the sorter used by ORDER BY and CREATE INDEX.
* Added the SQLITE_DISABLE_FTS4_DEFERRED compile-time option.
* Better handling of aggregate queries where the aggregate functions are
contained within subqueries.
* Enhance the query planner so that it will try to use a covering index on
queries that make use of or optimization.
=== 3.39.0 (2012-09-01)
* Fix defaults_setter to set false default values (jeremyevans)
* Fix serial sequence query in Database#primary_key_sequence on PostgreSQL
(jeremyevans) (#538)
* Add Database#copy_into when using postgres adapter with pg driver, for very
fast inserts into tables (jeremyevans)
* Combine multiple alter_table operations into a single query where possible
on MySQL and PostgreSQL (jeremyevans)
* Handle sets of alter_table operations on MySQL and MSSQL where later
operations depend on earlier ones (jeremyevans)
* Add constraint_validations plugin for automatic validations of constaints
defined by extension (jeremyevans)
* Add constraint_validations extension for defining database constraints
similar to validations (jeremyevans)
* Add Database#supports_regexp? for checking for regular expression support
(jeremyevans)
* Add Sequel.trim for cross platform trim function (jeremyevans)
* Add Sequel.char_length for cross platform char_length function (jeremyevans)
* Fixing caching of MySQL server version (hannesg) (#536)
* Allow overriding the convert_tinyint_to_bool setting on a per-Dataset basis
in the mysql and mysql2 adapters (jeremyevans)
* Make ValidationFailed and HookFailed exceptions have model method that
returns the related model (jeremyevans)
* Automatically wrap array arguments to most PGArrayOp methods in PGArrays
(jeremyevans)
* Add set_column_not_null to alter table generator for marking a column as not
null (jeremyevans)
* Default second argument of set_column_allow_null to true in alter table
generator (jeremyevans)
* Allow Dataset#count to take an argument or virtual row block (jeremyevans)
* Attempt to recognize CURRENT_{DATE,TIMESTAMP} defaults and return them as
Sequel::CURRENT_{DATE,TIMESTAMP} (jeremyevans)
* Make dataset.insert(model) assume a single column if model uses the pg_row
plugin (jeremyevans)
* No longer handle model instances in plain (non-model) datasets when
inserting (jeremyevans)
* Use subselects for model classes as tables in join methods in model datasets
if the model's dataset isn't a simple select (jeremyevans)
* No longer handle model classes as tables in join/graph methods in plain
(non-model) datasets (jeremyevans)
* Make Time->DateTime and DateTime->Time typecasts retain fractional seconds
on ruby 1.8 (jeremyevans) (#531)
* Add bin/sequel -c support, for running code string instead of using an IRB
prompt (jeremyevans)
* Allow subclasses plugin to take a block, which is called with each
subclasses created (jeremyevans)
* Add :where option to validates_unique, for custom uniqueness filters
(jeremyevans)
* Add :connection_handling=>:disconnect option for threaded connection pools
(jeremyevans)
* Add Postgres::PGRowOp#* for referencing the members of the composite type as
separate columns (jeremyevans)
* Make identity_map plugin work with models lacking a primary key (jeremyevans)
* Recognize MySQL set type and default value (jeremyevans) (#529)
== v0.14.1 [2012-09-02] Michael Granger <ged@FaerieMUD.org>
Important bugfix:
- Fix stack overflow bug in PG::Result#values and #column_values (#135). Thanks
to everyone who reported the bug, and Lars Kanis especially for figuring out
the problem.
PostgreSQL 9.2 beta fixes:
- Recognize PGRES_SINGLE_TUPLE as OK when checking PGresult (Jeremy Evans)
Documentation fixes:
- Add note about the usage scope of the result object received by the
#set_notice_receiver block. (Lars Kanis)
- Add PGRES_COPY_BOTH to documentation of PG::Result#result_status. (Lars Kanis)
- Add some documentation to PG::Result#fnumber (fix for #139)
Now this package supports Ruby on Rails 3.2.
3.2.2: 2012-09-01
* Supported entry creation by direct ActiveLdap::Base use.
[Reported by Craig White]
* Started to use Travis CI.
3.2.1: 2012-08-31
* Fixed a bug that ActiveLdap::Base#delete doesn't work.
[Reported by Craig White]
3.2.0: 2012-08-29
* [GitHub:#39] Supported Rails 3.2.8. [Reported by Ben Langfeld]
* [GitHub:#13] Don't use deprecated Gem.available?. [Patch by sailesh]
* [GitHub:#19] Supported new entry by @ha_many :wrap@. [Patch by Alex Tomlins]
* Supported @:only@ option in XML output.
* [GitHub:#14] Supported nil as single value. [Reported by n3llyb0y]
* [GitHub:#20] Supported ActiveModel::MassAssignmentSecurity.
[Reported by mihu]
* [GitHub:#24] Supported Ruby 1.9 style Hash syntax in generator.
[Patch by ursm]
* [GitHub:#25][GitHub:#39] Supported ActiveModel::Dirty.
[Patch by mihu][Reported by Ben Langfeld]
* [GitHub:#26] Improved speed for dirty. [Patch by mihu]
* [GitHub:#28] Improved speed for initialization. [Patch by mihu]
* [GitHub:#29] Added .gemspec. [Suggested by mklappstuhl]
* [GitHub:#34] Removed an unused method. [Patch by mihu]
* [GitHub:#37] Improved will_paginate support. [Patch by Craig White]
* [GitHub:#40] Added missing test files to .gemspec. [Reported by V«¿t Ondruch]
* [GitHub:#41] Improved speed for find. [Patch by unixmechanic]
* Changed i18n backend to gettext from fast_gettext again.
* [GitHub:#42] Fixed a bug that optional second is required for GeneralizedTime.
[Reported by masche842]
Upstream changes:
1.03 Sun Mar 6 07:32:21 CET 2011
Fixing output of tests when DBI is not available.
1.02 Thu Mar 3 20:40:54 CET 2011
Added the URL to the AVAILABLE FROM sections.
1.01 Wed Feb 9 21:22:07 CET 2011
Updated the Changes file.
1.00 Wed Feb 9 21:19:35 CET 2011
Changed the location of the distribution to
http://www.adelton.com/perl/DBD-XBase/
Changed author's email address.
Require perl 5.10 and use O_BINARY from Fcntl.
Updated the clean target to make distclean clean.
Updated URL of Erik's documentation.
=== 3.38.0 (2012-08-01)
* Sequel now recognizes the double(x, y) and double(x, y) unsigned MySQL types
(Slike9, jeremyevans) (#528)
* The swift subadapters now require swift-db-* instead of swift itself
(deepfryed, jeremyevans) (#526)
* Add :textsize option to tinytds adapter to override the default TEXTSIZE
(jeremyevans, wardrop) (#525)
* Support an output identifier method in the swift adapter (jeremyevans)
* Add Model#to_hash as an alias to Model#values (jeremyevans)
* When loading multiple pg_* extensions via Database#extension, only reset the
conversion procs once (jeremyevans)
* Don't allow model typecasting from string to postgres array, hstore, or
composite types (jeremyevans)
* Add pg_typecast_on_load plugin for converting advanced PostgreSQL types on
load the {jdbc,do,swift}/postgres adapters (jeremyevans)
* Make all adapters that connect to PostgreSQL store type conversion procs
(jeremyevans)
* Add type oid to column schema on PostgreSQL (jeremyevans)
* Add pg_row plugin, for using Sequel::Model classes to represent PostgreSQL
row-valued/composite types (jeremyevans)
* Add pg_row_ops extension for DSL support for PostgreSQL row-valued/composite
types (jeremyevans)
* Add pg_row extension for dealing with PostgreSQL row-valued/composite types
(jeremyevans)
* Allow custom registered array types in the pg_array extension to be Database
instance specific (jeremyevans)
* Remove Sequel::SQL::IdentifierMethods (jeremyevans)
* Don't have the schema_dumper extension produce code that relies on the
core_extensions (jeremyevans)
* Fix dropping of columns with constraints on Microsoft SQL Server (mluu,
jeremyevans) (#515, #518)
* Don't have pg_* extensions add methods to core classes unless the
core_extensions extension is loaded (jeremyevans)
* Use real boolean literals on derby 10.7+ (jeremyevans, matthauck) (#514)
* Work around JRuby 1.6 ruby 1.9 mode bug in Time#nsec for Time prepared
statement arguments on jdbc (jeremyevans)
* Handle blob prepared statement arguments on jdbc/db2 and jdbc/oracle
(jeremyevans)
* Handle blob values in the swift adapter (jeremyevans)
* Handle better nil prepared statement arguments on jdbc (jeremyevans) (#513)
* Make SQL::Blob objects handle as, cast, and lit methods even if the core
extensions are not loaded (jeremyevans)
* Make #* with no arguments produce a ColumnAll for Identifier and
QualifiedIdentifier (jeremyevans)
* Sequel.expr(:symbol) now returns Identifier, QualifiedIdentifier, or
AliasedExpression instead of Wrapper (jeremyevans)
* Treat clob columns as string instead of blob on Derby (jeremyevans) (#509)
- The setup scripts *must* not get write access to the real "config.inc.php".
Allow then instead to generate a file in "/var/phpmyadmin" which the
administrator copies it place manually. This is the intended procedure
as documented by the developers.
- Restore the normal "config.inc.php" to its original location. Not sure
why I didn't encounter any problems during testing the last change
because phpMyAdmin isn't working very well without this.
While here change dependences to require both the "php-mysql" and the
"php-mysqli" packages. Old installations will use the former, new
installation will use the later.
Bump the package revision again because of these changes.
1.) Install PHP script in the "setup" directory.
2.) Use Vendor override to set the location of the configuration file.
It is now possible to use phpMyAdmin's setup for configuration.
Based on a suggestion by Peter Avalos in private e-mail.
Lib/
* ldapobject.ReconnectLDAPObject.reconnect() now preserves
order of options set with LDAPObject.set_option before.
This is needed e.g. for setting connection-specific TLS options.
Demo/
* Better version of Demo/pyasn1/syncrepl.py
* CVE-2012-3488: PostgreSQL insecure use of libxslt
* CVE-2012-3489: PostgreSQL insecure use of libxml2
* Updates and corrections to time zone data
* Multiple documentation updates and corrections
* Add limit on max_wal_senders
* Fix dependencies generated during ALTER TABLE ADD CONSTRAINT USING INDEX.
* Correct behavior of unicode conversions for PL/Python
* Fix WITH attached to a nested set operation (UNION/INTERSECT/EXCEPT).
* Fix syslogger so that log_truncate_on_rotation works in the first rotation.
* Only allow autovacuum to be auto-canceled by a directly blocked process.
* Improve fsync request queue operation
* Prevent corner-case core dump in rfree().
* Fix Walsender so that it responds correctly to timeouts and deadlocks
* Several PL/Perl fixes for encoding-related issues
* Make selectivity operators use the correct collation
* Prevent unsuitable slaves from being selected for synchronous replication
* Make REASSIGN OWNED work on extensions as well
* Fix race condition with ENUM comparisons
* Make NOTIFY cope with out-of-disk-space
* Fix memory leak in ARRAY subselect queries
* Reduce data loss at replication failover
* Fix behavior of subtransactions with Hot Standby
* Prevent access to external files/URLs via XML entity references
* Prevent access to external files/URLs via contrib/xml2's xslt_process()
* Prevent too-early recycling of btree index pages
* Fix crash-safety bug with newly-created-or-reset sequences
* Fix txid_current() to report the correct epoch when not in hot standby
* Fix bug in startup of Hot Standby when a master transaction has many
subtransactions
* Ensure the backup_label file is fsync'd after pg_start_backup()
* Fix timeout handling in walsender processes
* Back-patch 9.1 improvement to compress the fsync request queue
* Fix LISTEN/NOTIFY to cope better with I/O problems, such as out of disk space
* Only allow autovacuum to be auto-canceled by a directly blocked process
* Improve logging of autovacuum cancels
* Fix WITH attached to a nested set operation (UNION/INTERSECT/EXCEPT)
* Ensure that a whole-row reference to a subquery doesn't include any extra
GROUP BY or ORDER BY columns
* Disallow copying whole-row references in CHECK constraints and index
definitions during CREATE TABLE
* Prevent access to external files/URLs via XML entity references
* Prevent access to external files/URLs via contrib/xml2's xslt_process()
* Prevent too-early recycling of btree index pages
* Fix crash-safety bug with newly-created-or-reset sequences
* Fix race condition in enum-type value comparisons
* Fix txid_current() to report the correct epoch when not in hot standby
* Prevent selection of unsuitable replication connections as the synchronous
standby
* Fix bug in startup of Hot Standby when a master transaction has many
subtransactions
* Ensure the backup_label file is fsync'd after pg_start_backup()
* Fix timeout handling in walsender processes
* Wake walsenders after each background flush by walwriter
* Fix LISTEN/NOTIFY to cope better with I/O problems, such as out of disk space
* Only allow autovacuum to be auto-canceled by a directly blocked process
* Improve logging of autovacuum cancels
* Fix WITH attached to a nested set operation (UNION/INTERSECT/EXCEPT)
## Rails 3.2.8 (Aug 9, 2012) ##
* Do not consider the numeric attribute as changed if the old value is zero
and the new value is not a string.
Fixes#7237.
*Rafael Mendonça França*
* Removes the deprecation of `update_attribute`. *fxn*
* Reverted the deprecation of `composed_of`. *Rafael Mendonça França*
* Reverted the deprecation of `*_sql` association options. They will be
deprecated in 4.0 instead. *Jon Leighton*
* Do not eager load AR session store. ActiveRecord::SessionStore depends on
the abstract store in Action Pack. Eager loading this class would break
client code that eager loads Active Record standalone.
Fixes#7160
*Xavier Noria*
* Do not set RAILS_ENV to "development" when using `db:test:prepare` and
related rake tasks.
This was causing the truncation of the development database data when using
RSpec.
Fixes#7175.
*Rafael Mendonça França*
Important Change: The YEAR(2) data type is now deprecated because it is problematic. Support for YEAR(2) will be removed in a future release of MySQL. For more information, see Section 11.3.4, “YEAR(2) Limitations and Migrating to YEAR(4)”.
=== 3.37.0 (2012-07-02)
* Allow specifying eager_graph alias base on a per-call basis using an AliasedExpression (jeremyevans)
* Allow bin/sequel to respect multiple -l options for logging to multiple files (jeremyevans)
* Correctly handle cases where SCOPE_IDENTITY is nil in the odbc/mssql adapter (stnoonan, jeremyevans)
* Add pg_interval extension, for returning interval types as ActiveSupport::Duration instances (jeremyevans)
* Save a new one_to_one associated object once instead of twice in the nested_attributes plugin (jeremyevans)
* Don't add unnecessary filter condition when passing a new object to a one_to_one setter method (jeremyevans)
* Differentiate between column references and method references in many_through_many associations (jeremyevans)
* Use :qualify=>:deep option when joining tables in model association datasets (jeremyevans)
* Support :qualify=>:deep option to Dataset#join_table to qualify subexpressions in the expression tree (jeremyevans)
* Support :qualify=>false option to Dataset#join_table to not automatically qualify keys/values (jeremyevans)
* Make filter by associations support use column references and method references correctly (jeremyevans)
* Call super in list plugin before_create (jeremyevans) (#504)
* Do not automatically cast String to text in pg_auto_parameterize extension (jeremyevans)
* Support alter_table validate_constraint on PostgreSQL for validating constraints previously declared with NOT VALID (jeremyevans)
* Support :not_valid option when adding foreign key constraints on PostgreSQL (jeremyevans)
* Support exclusion constraints on PostgreSQL (jeremyevans)
* Allow for overriding the create/alter table generators used per Database object (jeremyevans)
* Make casting to Date/(Time/DateTime) use date/datetime functions on SQLite (jeremyevans)
* Add pg_range_ops extension for DSL support for PostgreSQL range operators and functions (jeremyevans)
* The json library is now required when running the plugin/extension specs (jeremyevans)
* Use change migrations instead of up/down migrations in the schema_dumper (jeremyevans)
* Dump unsigned integer columns with a check >= 0 constraint in the schema_dumper (stu314)
* Switch the :key_hash entry to the association :eager_loader option to use the method symbol(s) instead of the column symbol(s) (jeremyevans)
* Add :id_map entry to the hash passed to the association :eager_loader option, for easier custom eager loading (jeremyevans)
* Fix dumping of non-integer foreign key columns in the schema_dumper (jeremyevans) (#502)
* Add nested_attributes :fields option to be a proc that is called with the associated object (chanks) (#498)
* Add split_array_nil extension, for compiling :col=>[1, nil] to col IN (1) OR col IS NULL (jeremyevans)
* Add Database#extension and Dataset#extension for loading extension modules into objects automatically (jeremyevans)
* Respect an existing dataset limit when updating on Microsoft SQL Server (jeremyevans)
* Add pg_range extension, for dealing with PostgreSQL 9.2+ range types (jeremyevans)
* Make pg_array extension convert array members when typecasting Array to PGArray (jeremyevans)
* Make jdbc/postgres adapter convert array type elements (e.g. date[] arrays are returned as arrays of Date instances) (jeremyevans)
* Make the pg_inet extension handle inet[]/cidr[]/macaddr[] types when used with the pg_array extension (jeremyevans)
* Make the pg_json extension handle json[] type when used with the pg_array extension (jeremyevans)
* Fix schema parsing of h2 clob types (jeremyevans)
* Make the pg_array extension handle array types for scalar types handled by the native postgres adapter (jeremyevans)
* Generalize handling of array types in the pg_array extension, allowing easy support of custom array types (jeremyevans)
* Remove type conversion of int2vector and money types on PostgreSQL, since previous conversions were wrong (jeremyevans)
* Add eval_inspect extension, which makes Sequel::SQL::Expression#inspect attempt to return a string suitable for eval (jeremyevans)
* When emulating offset with ROW_NUMBER, default to ordering by all columns if no specific order is given (stnoonan, jeremyevans) (#490)
* Work around JRuby 1.6 ruby 1.9 mode bug in Time -> SQLTime conversion (jeremyevans)
=== 3.36.1 (2012-06-01)
* Fix jdbc adapter when DriverManager#getConnection fails (aportnov) (#488)
== v0.14.0 [2012-06-17] Michael Granger <ged@FaerieMUD.org>
Bugfixes:
#47, #104
New Methods for PostgreSQL 9 and async API support:
PG
- ::library_version
PG::Connection
- ::ping
- #escape_literal
- #escape_identifier
- #set_default_encoding
PG::Result
- #check
New Samples:
This release also comes with a collection of contributed sample scripts for
doing resource-utilization reports, graphing database statistics,
monitoring for replication lag, shipping WAL files for replication,
automated tablespace partitioning, etc. See the samples/ directory.
v0.12.2
- Respect the start_key in get_range. Resolves Issue #127.
- Fix issue with differences in gemspec and what is required. Resolves
Issue #125.
- Update to Cassandra 0.8.7 and 1.0.2.
## Rails 3.2.7 (unreleased) ##
* `:finder_sql` and `:counter_sql` options on collection associations
are deprecated. Please transition to using scopes.
*Jon Leighton*
* `:insert_sql` and `:delete_sql` options on `has_and_belongs_to_many`
associations are deprecated. Please transition to using `has_many
:through`
*Jon Leighton*
* `composed_of` has been deprecated. You'll have to write your own accessor
and mutator methods if you'd like to use value objects to represent some
portion of your models.
*Steve Klabnik*
* `update_attribute` has been deprecated. Use `update_column` if
you want to bypass mass-assignment protection, validations, callbacks,
and touching of updated_at. Otherwise please use `update_attributes`.
*Steve Klabnik*
## Rails 3.0.16 (Jul 26, 2012)
* No changes.
## Rails 3.0.14 (Jun 12, 2012)
* protect against the nesting of hashes changing the
table context in the next call to build_from_hash. This fix
covers this case as well.
CVE-2012-2695
Upstream ChangLog:
1.65 Mon Jul 23 20:16:08 PDT 2012
Finish the "Perl Data::Table Cookbook", should be a good learning material.
To download, visit https://sites.google.com/site/easydatabase/
Polish Data::Table::Excel for CPAN upload.
Minor patches to the code.
1.64 Sun Jul 8 22:01:17 PDT 2012
Add $keepRestCols to Data::Table::group();
We introduce new constants for fromCSV/fromTSV/fromFile/csv/tsv.
Data::Table::OS_UNIX = 0;
Data::Table::OS_PC = 1;
Data::Table::OS_MAC = 2;
Add method reorder(), redefine column orders
Add method melt() and cast(), concept borrowed from Reshape package in R
Add method each_group(), so one can apply a custom method to rows sharing the same key
Made a seemingly backward incompatible change to pivot()
pivot($colToSplit, $colToSplitIsNumeric, ...) is changed to
pivot($colToSplit, $colToSplitIsStringOrNumber, ...)
What is now pivot($colToSplit, $Data::Table::STRING, ...), where Data::Table::STRING has a value of 1,
was equivalent to pivot($colToSplit, 0, ...) in <= 1.63.
However, the $colToSplitIsStringOrNumber is now auto-guessed within the code, so the change is not very relevant.
Most existing code should run fine, without change.
Patch group(), piviot() to distinguish keys between empty string and undef.
Patch subTable() to take row mask array when {useRowMask=>1} is provided.
1.63 Tue Jun 12 17:05:43 PDT 2012
In this release, we patch addCol, delCol, addRow, rowMerge, colMerge to for an empty table
We introduce new methods isEmpty(), hasCol(), moveCol($colID, $newColIdx)
We introduce new constants for Data::Table::new()
Data::Table::ROW_BASED
Data::Table::COL_BASED
1.62 Fri May 25 11:40:09 PDT 2012
In this release, we address a few pain points
Data::Table::colMerge, update to support new options
{ renameCol => 1}
If specified, duplicate column names in the second table is automatically renamed (by appending _2) to avoid conflict
We introduce some constants, so we have fewer numbers to remember.
Data::Table::NUMBER
Data::Table::STRING
Data::Table::ASC
Data::Table::DESC
for sort(), you can use $t->sort('col2', Data::Table::NUMBER, Data::Table::DESC); it is equivalent to $t->sort('col2', 0, 1);
Data::Table::INNER_JOIN
Data::Table::LEFT_JOIN
Data::Table::RIGHT_JOIN
Data::Table::FULL_JOIN
for join(), you may use $t->sort($t2, Data::Table::FULL_JOIN, ['col1'], ['col1']);
it is equivalent to $t->sort($t2, 3, ['col1'], ['col1']).
match_string, match_pattern have been generating @Data::Table::OK, which is a class-level array.
$t->match_pattern() will now also store the results (array ref) in $t->{OK}, that should be used in the future.
However, @Data::Table::OK is still supported for compatibility reasons.
This is not a pain point, but conceptually nicer to be localized.
match_pattern_hash() is added. The difference is each row is fed to the pattern as a hash %_. In the case of
match_pattern, each row is fed as an array ref $_. The pattern for match_pattern_hash() becomes much cleaner.
If a table has two columns: Col_A as the 1st column and Col_B as the 2nd column, a filter "Col_A>2 AND Col_B<2"
is written before as
$t->match_pattern('$_->[0] > 2 && $_->[1] <2');
where we need to figure out $t->colIndex('Col_A') is 0 and $t->colIndex('Col_B') is 1, in order to build the pattern.
Now you can use column name directly in the pattern:
$t->match_pattern_hash('$_{Col_A} >2 && $_{Col_B} <2');
This method creates $t->{OK}, as well as @Data::Table::OK, same as match_pattern().
Data::Table::rowMerge, update to support new options
{ byName =>1, addNewCol => 1}
If byName is 1, rows in the second table are appended by matching their column names, so that the second table
can have columns in a different order.
If addNewCol is 1, columns not exist in the first table will be automatically added.
addNewCol is best used with byName. If used alone, addNewCol will just patch the two tables so that they have
the same number of columns.
Data::Table::subTable, update internal to remove side effect on column header array
Data::join add support for an option {renameCol => 1}.
If specified, duplicate column names in the second table is automatically renamed (by appending _2) to avoid conflict
1.61 Mon Feb 27 21:07:55 PST 2012
Data::Table::fromSQL now can take DBI::st instead of a SQL string. This is introduced, so that
variable binding (such as CLOB/BLOB) can be done outside the method.
1.60 Sat Feb 25 19:26:46 PST 2012
Data::Table::addRow now also can take a hash reference. Hash keys are column names,
undef will be the value, if a column name is not found in the hash.
Suggested by Federico
1.59 Sun Feb 5 00:20:00 PST 2012
I have never checked those CPAN ticket, happened to discover them and address them in this version.
Update document, explain Data::Table::fromCSV(\*STDIN, 1) can be used to read table from STDIN.
Add tbody and thead to Data::Table::html, if it's portrait.
Suggested by Ken Rosenberry.
Modify Data::Table::html and Data::Table::html2, so that it can accept coloring via CSS
The color now can be either specified as an array as before, or as three CSS class names
Suggested by Xavier Robin
1.58 Thu Feb 2 20:33:03 PST 2012
Patch join(), prior version of join considers two NULL keys to be equal
update document, clarify that rowMerge assumes table columns in the same order
Thanks to Ulrik Stervbo.
1.57 Thu Apr 23 15:22:36 PDT 2009
Patch pivot(), it throws warning before, when colToFill is undef.
1.56 Fri Aug 22 15:53:29 PDT 2008
When the first line in a TSV is not a header, but contains strings such as \t.
The program will not transform \t to a tab.
Modify fromTSV, so that \t, \N (etc) transformation is optional.
Add transform_element flag to fromTSV method to turn on/off the transformation.
Thanks to Bin Zhou.
1.55 Mon May 5 10:29:44 PDT 2008
Patch parseCSV. fromFile guesses the wrong delimiter if some ending columns are empty.
Version 5.0.4
-------------
Released: 22th March 2012
Bug fixes.
* Fix#3468882 "UPDATE single row with varchar key: empty where clause", reported by "Dirk Kraemer"
* Fix XSS in function.php, reported by Mateusz Goik
* Fix bug where renaming a tablespace was leading to an error
* Fix a bug where clicking to "Show all schemas" on schema privilege page leads back to the latest tab used in database level
* Fix a bug when executing a query from the history
* Fix bad confirmation message when droping an autovacuum table setup
* Fix bug #3429633 '"Back" link from "Browse" leads to error'
* Fix a PHP warning when Slony conf parameters are not set
* Show cancel/kill actions in process page only if role is a superuser
* Some more small code cleanup and fixes.
Version 5.0.3
-------------
Released: 3rd October 2011
Some bug fixes.
* Fix bug with enable/disable triggers on multiple triggers (Dawid 'DeyV' Polak)
* Fix bug #3353670: Error when executing a report with paging
* Fix bug with OpenBSD about where setting application_name using PGOPTIONS was raising an ERROR
* Two security fix about code injection, reported by Mateusz Goik, fixed by ioguix
* Fix character-encoding problem with autocomplete
- bug #3521416 [interface] JS error when editing index
- bug #3521313 [core] Call to undefined function __()
- bug #3521016 [edit] NOW() function incorrectly selected
- bug [GUI] Invalid HTML code on transformation_overview.php
- bug #3522930 [browse] Missing validation in Ajax mode
- bug Fix popup message on build SQL of import
- bug #3523499 [core] Make X-WebKit-CSP work better
- replace Highcharts with jqplot for query profiling, zoom search
- bug #3531584 [interface] No form validation in change password dialog
- bug #3531585 [interface] Broken password validation in copy user form
- bug #3531586 [unterface] Add user form prints JSON when user presses enter
- bug #3534121 [config] duplicate line in config.sample.inc.php
- bug #3534311 [interface] Grid editing incorrectly parses ENUM/SET values
- bug #3510196 [core] More clever URL rewriting with ForceSSL
Due to updated PKG_DEVELOPER checks, postgresql83-server started failing
with the following message:
ERROR: lib/postgresql/plpgsql.so: missing libintl.so.8
The plpgsql.so library had no rpath set other than what the base compiler
adds by default. On DragonFly, the libintl.so library would likely have
been found anyway as /usr/pkg/lib is part of the LD_CONFIG hint file
search path, but that isn't a guarantee.
The new patch adds ${libdir} to the plpgsql.so rpath so it passes
PKG_DEVELOPER checks now.
Due to updated PKG_DEVELOPER checks, postgresql84-server started failing
with the following message:
ERROR: lib/postgresql/plpgsql.so: missing libintl.so.8
The plpgsql.so library had no rpath set other than what the base compiler
adds by default. On DragonFly, the libintl.so library would likely have
been found anyway as /usr/pkg/lib is part of the LD_CONFIG hint file
search path, but that isn't a guarantee.
The new patch adds ${libdir} to the plpgsql.so rpath so it passes
PKG_DEVELOPER checks now.
Changes:
* autoconf 2.68 -> 2.69, automake 1.11.1 -> 1.12.2,
libtool 2.2.10 -> 2.4.2.
* Corrected dereference of NULL pointer in db_deinit_limit()
and db_deinit_threshold() introduced in the 1.0.2 version.
* Converted all flags to bool data type.
Provided by Andrey Simonenko in PR 46692.
from 1.35nb1 to 1.37.
Upstream changes (since 1.35):
1.37 to be released
- Updated to SQLite 3.7.12.1 (ISHIGAKI)
1.36_04 Sat 19 May 2012
- Final developer release
- Updated to SQLite 3.7.12 (ISHIGAKI)
- Tweaked Makefile.PL to behave better during the Bsymbolic
check (HMBRAND)
- Added SQLITE_WITHOUT_ZONEMALLOC for older MacOS X (ISHIGAKI)
1.36_03 Mon 7 May 2012
- Updated to SQLite 3.7.11 (ISHIGAKI)
- Fix >32bit integer truncation and other sqlite_set_result
condition issue (Yuriy Kaminskiy)
- Fix integer overflow in passing argument to perl function
(Yuriy Kaminskiy)
- Convert unsigned -> int64 when possible (Yuriy Kaminskiy)
- Turned datatype mismatch error (introduced in 1.34_02) into
a warning (you can disable this warning by setting PrintWarn
attribute to false). (ISHIGAKI)
- Refactored sqlite_is_number to fix various corner cases
(ISHIGAKI)
1.36_02 Thu 23 Feb 2012
- Downgraded SQLite to 3.7.9, as 3.7.10 turned out to be
broken on the latest MacOS X (due to a missing symbol),
and broke other modules that typically use temporary tables
under a few environments too. As of this writing, would-be
3.7.11 seems fine, but it would take another month to be
released. (ISHIGAKI)
1.36_01 Thu 19 Jan 2012
*** CHANGES THAT MAY POSSIBLY BREAK YOUR OLD APPLICATIONS ***
- Updated to SQLite 3.7.10 (ISHIGAKI)
Note that this release changed the default schema format
number, that means newly created database files will be
unreadable by SQLite version prior to 3.3.0 (2006-01-10)
(or DBD::SQLite prior to 1.12) unless you explicitly issue
"PRAGMA legacy_file_format=ON".
- Enabled SQLITE_ENABLE_FTS4
- Enabled SQLITE_ENABLE_STAT3
- Resolved#73159: FTS tokenizer segfault (ISHIGAKI)
- Resolved#73787: sqlite_see_if_its_a_number causes a buffer
overflow (ISHIGAKI)
- Resolved#73314 for DBD-SQLite: binding of 64bit integers fail
on 1.34_02 (ISHIGAKI)
- Implemented sqlite_trace and sqlite_profile methods for simpler
tracing/profiling; use DBI_TRACE/DBI_PROFILE for more
complicated cases (ISHIGAKI)
1.622.
pkgsrc changes:
- fixing download directory
Upstream changes:
Changes in DBI 1.622 (svn r15327) 6th June 2012
Fixed lack of =encoding in non-ASCII pod docs. RT#77588
Corrected typo in DBI::ProfileDumper thanks to Finn Hakansson.
Changes in DBI 1.621 (svn r15315) 21st May 2012
Fixed segmentation fault when a thread is created from
within another thread RT#77137, thanks to Dave Mitchell.
Updated previous Changes to credit Booking.com for sponsoring
Dave Mitchell's recent DBI optimization work.
Changes:
* Fix incorrect password transformation in contrib/pgcrypto's DES crypt()
function (Solar Designer)
* Ignore SECURITY DEFINER and SET attributes for a procedural language's call
handler (Tom Lane)
* Make contrib/citext's upgrade script fix collations of citext arrays and
domains over citext (Tom Lane)
* Allow numeric timezone offsets in timestamp input to be up to 16 hours away
from UTC (Tom Lane)
* Fix timestamp conversion to cope when the given time is exactly the last DST
transition time for the current timezone (Tom Lane)
* Fix text to name and char to name casts to perform string truncation
correctly in multibyte encodings (Karl Schnaitter)
* Fix memory copying bug in to_tsquery() (Heikki Linnakangas)
* Ensure txid_current() reports the correct epoch when executed in hot standby
(Simon Riggs)
* Fix planner's handling of outer PlaceHolderVars within subqueries (Tom Lane)
* Fix planning of UNION ALL subqueries with output columns that are not simple
variables (Tom Lane)
* Fix slow session startup when pg_attribute is very large (Tom Lane)
* Ensure sequential scans check for query cancel reasonably often (Merlin
Moncure)
* Ensure the Windows implementation of PGSemaphoreLock() clears
ImmediateInterruptOK before returning (Tom Lane)
* Show whole-row variables safely when printing views or rules (Abbas Butt, Tom
Lane)
* Fix COPY FROM to properly handle null marker strings that correspond to
invalid encoding (Tom Lane)
* Fix EXPLAIN VERBOSE for writable CTEs containing RETURNING clauses (Tom Lane)
* Fix PREPARE TRANSACTION to work correctly in the presence of advisory locks
(Tom Lane)
* Fix truncation of unlogged tables (Robert Haas)
* Ignore missing schemas during non-interactive assignments of search_path (Tom
Lane)
* Fix bugs with temporary or transient tables used in extension scripts (Tom
Lane)
* Ensure autovacuum worker processes perform stack depth checking properly
(Heikki Linnakangas)
* Fix logging collector to not lose log coherency under high load (Andrew
Dunstan)
* Fix logging collector to ensure it will restart file rotation after receiving
SIGHUP (Tom Lane)
* Fix "too many LWLocks taken" failure in GiST indexes (Heikki Linnakangas)
* Fix WAL replay logic for GIN indexes to not fail if the index was
subsequently dropped (Tom Lane)
* Correctly detect SSI conflicts of prepared transactions after a crash (Dan
Ports)
* Avoid synchronous replication delay when committing a transaction that only
modified temporary tables (Heikki Linnakangas)
* Fix error handling in pg_basebackup (Thomas Ogrisegg, Fujii Masao)
* Fix walsender to not go into a busy loop if connection is terminated (Fujii
Masao)
* Fix memory leak in PL/pgSQL's RETURN NEXT command (Joe Conway)
* Fix PL/pgSQL's GET DIAGNOSTICS command when the target is the function's
first variable (Tom Lane)
* Ensure that PL/Perl package-qualifies the _TD variable (Alex Hunsaker)
* Fix PL/Python functions returning composite types to accept a string for
their result value (Jan Urbanski)
* Fix potential access off the end of memory in psql's expanded display (\x)
mode (Peter Eisentraut)
* Fix several performance problems in pg_dump when the database contains many
objects (Jeff Janes, Tom Lane)
* Fix memory and file descriptor leaks in pg_restore when reading a
directory-format archive (Peter Eisentraut)
* Fix pg_upgrade for the case that a database stored in a non-default
tablespace contains a table in the cluster's default tablespace (Bruce Momjian)
* In ecpg, fix rare memory leaks and possible overwrite of one byte after the
sqlca_t structure (Peter Eisentraut)
* Fix contrib/dblink's dblink_exec() to not leak temporary database connections
upon error (Tom Lane)
* Fix contrib/dblink to report the correct connection name in error messages
(Kyotaro Horiguchi)
* Fix contrib/vacuumlo to use multiple transactions when dropping many large
objects (Tim Lewis, Robert Haas, Tom Lane)
* Update time zone data files to tzdata release 2012c for DST law changes in
Antarctica, Armenia, Chile, Cuba, Falkland Islands, Gaza, Haiti, Hebron,
Morocco, Syria, and Tokelau Islands;
Changes:
* Fix incorrect password transformation in contrib/pgcrypto's DES crypt()
function (Solar Designer)
* Ignore SECURITY DEFINER and SET attributes for a procedural language's call
handler (Tom Lane)
* Allow numeric timezone offsets in timestamp input to be up to 16 hours away
from UTC (Tom Lane)
* Fix timestamp conversion to cope when the given time is exactly the last DST
transition time for the current timezone (Tom Lane)
* Fix text to name and char to name casts to perform string truncation
correctly in multibyte encodings (Karl Schnaitter)
* Fix memory copying bug in to_tsquery() (Heikki Linnakangas)
* Ensure txid_current() reports the correct epoch when executed in hot standby
(Simon Riggs)
* Fix planner's handling of outer PlaceHolderVars within subqueries (Tom Lane)
* Fix slow session startup when pg_attribute is very large (Tom Lane)
* Ensure sequential scans check for query cancel reasonably often (Merlin
Moncure)
* Ensure the Windows implementation of PGSemaphoreLock() clears
ImmediateInterruptOK before returning (Tom Lane)
* Show whole-row variables safely when printing views or rules (Abbas Butt, Tom
Lane)
* Fix COPY FROM to properly handle null marker strings that correspond to
invalid encoding (Tom Lane)
* Ensure autovacuum worker processes perform stack depth checking properly
(Heikki Linnakangas)
* Fix logging collector to not lose log coherency under high load (Andrew
Dunstan)
* Fix logging collector to ensure it will restart file rotation after receiving
SIGHUP (Tom Lane)
* Fix WAL replay logic for GIN indexes to not fail if the index was
subsequently dropped (Tom Lane)
* Fix memory leak in PL/pgSQL's RETURN NEXT command (Joe Conway)
* Fix PL/pgSQL's GET DIAGNOSTICS command when the target is the function's
first variable (Tom Lane)
* Fix potential access off the end of memory in psql's expanded display (\x)
mode (Peter Eisentraut)
* Fix several performance problems in pg_dump when the database contains many
*bjects (Jeff Janes, Tom Lane)
* Fix pg_upgrade for the case that a database stored in a non-default
tablespace contains a table in the cluster's default tablespace (Bruce Momjian)
* In ecpg, fix rare memory leaks and possible overwrite of one byte after the
sqlca_t structure (Peter Eisentraut)
* Fix contrib/dblink's dblink_exec() to not leak temporary database connections
upon error (Tom Lane)
* Fix contrib/dblink to report the correct connection name in error messages
(Kyotaro Horiguchi)
* Fix contrib/vacuumlo to use multiple transactions when dropping many large
*bjects (Tim Lewis, Robert Haas, Tom Lane)
* Update time zone data files to tzdata release 2012c for DST law changes in
Antarctica, Armenia, Chile, Cuba, Falkland Islands, Gaza, Haiti, Hebron,
Morocco, Syria, and Tokelau Islands;
Changes:
* Fix incorrect password transformation in contrib/pgcrypto's DES crypt()
function (Solar Designer)
* Ignore SECURITY DEFINER and SET attributes for a procedural language's call
handler (Tom Lane)
* Allow numeric timezone offsets in timestamp input to be up to 16 hours away
from UTC (Tom Lane)
* Fix timestamp conversion to cope when the given time is exactly the last DST
transition time for the the current timezone (Tom Lane)
* Fix text to name and char to name casts to perform string truncation
correctly in multibyte encodings (Karl Schnaitter)
* Fix memory copying bug in to_tsquery() (Heikki Linnakangas)
* Fix planner's handling of outer PlaceHolderVars within subqueries (Tom Lane)
* Fix slow session startup when pg_attribute is very large (Tom Lane)
* Ensure sequential scans check for query cancel reasonably often (Merlin
Moncure)
* Ensure the Windows implementation of PGSemaphoreLock() clears
ImmediateInterruptOK before returning (Tom Lane)
* Show whole-row variables safely when printing views or rules (Abbas Butt, Tom
Lane)
* Fix COPY FROM to properly handle null marker strings that correspond to
invalid encoding (Tom Lane)
* Ensure autovacuum worker processes perform stack depth checking properly
(Heikki Linnakangas)
* Fix logging collector to not lose log coherency under high load (Andrew
Dunstan)
* Fix logging collector to ensure it will restart file rotation after receiving
SIGHUP (Tom Lane)
* Fix WAL replay logic for GIN indexes to not fail if the index was
subsequently dropped (Tom Lane)
* Fix memory leak in PL/pgSQL's RETURN NEXT command (Joe Conway)
* Fix PL/pgSQL's GET DIAGNOSTICS command when the target is the function's
first variable (Tom Lane)
* Fix potential access off the end of memory in psql's expanded display (\x)
mode (Peter Eisentraut)
* Fix several performance problems in pg_dump when the database contains many
objects (Jeff Janes, Tom Lane)
* Fix contrib/dblink's dblink_exec() to not leak temporary database connections
upon error (Tom Lane)
* Fix contrib/dblink to report the correct connection name in error messages
(Kyotaro Horiguchi)
* Update time zone data files to tzdata release 2012c for DST law changes in
Antarctica, Armenia, Chile, Cuba, Falkland Islands, Gaza, Haiti, Hebron,
Morocco, Syria, and Tokelau Islands; also historical corrections for Canada.
Changes:
* Fix incorrect password transformation in contrib/pgcrypto's DES crypt() function (Solar Designer)
* If a password string contained the byte value 0x80, the remainder of the password was ignored, causing the password to be much weaker than it appeared. With this fix, the rest of the string is properly included in the DES hash. Any stored password values that are affected by this bug will thus no longer match, so the stored values may need to be updated. (CVE-2012-2143)
* Ignore SECURITY DEFINER and SET attributes for a procedural language's call handler (Tom Lane)
* Applying such attributes to a call handler could crash the server. (CVE-2012-2655)
* Allow numeric timezone offsets in timestamp input to be up to 16 hours away from UTC (Tom Lane)
* Some historical time zones have offsets larger than 15 hours, the previous limit. This could result in dumped data values being rejected during reload.
* Fix timestamp conversion to cope when the given time is exactly the last DST transition time for the current timezone (Tom Lane)
* This oversight has been there a long time, but was not noticed previously because most DST-using zones are presumed to have an indefinite sequence of future DST transitions.
* Fix text to name and char to name casts to perform string truncation correctly in multibyte encodings (Karl Schnaitter)
* Fix memory copying bug in to_tsquery() (Heikki Linnakangas)
* Fix slow session startup when pg_attribute is very large (Tom Lane)
* If pg_attribute exceeds one-fourth of shared_buffers, cache rebuilding code that is sometimes needed during session start would trigger the synchronized-scan logic, causing it to take many times longer than normal. The problem was particularly acute if many new sessions were starting at once.
* Ensure sequential scans check for query cancel reasonably often (Merlin Moncure)
* A scan encountering many consecutive pages that contain no live tuples would not respond to interrupts meanwhile.
* Ensure the Windows implementation of PGSemaphoreLock() clears ImmediateInterruptOK before returning (Tom Lane)
* This oversight meant that a query-cancel interrupt received later in the same query could be accepted at an unsafe time, with unpredictable but not good consequences.
* Show whole-row variables safely when printing views or rules (Abbas Butt, Tom Lane)
* Corner cases involving ambiguous names (that is, the name could be either a table or column name of the query) were printed in an ambiguous way, risking that the view or rule would be interpreted differently after dump and reload. Avoid the ambiguous case by attaching a no-op cast.
* Ensure autovacuum worker processes perform stack depth checking properly (Heikki Linnakangas)
* Previously, infinite recursion in a function invoked by auto-ANALYZE could crash worker processes.
* Fix logging collector to not lose log coherency under high load (Andrew Dunstan)
* The collector previously could fail to reassemble large messages if it got too busy.
* Fix logging collector to ensure it will restart file rotation after receiving SIGHUP (Tom Lane)
* Fix PL/pgSQL's GET DIAGNOSTICS command when the target is the function's first variable (Tom Lane)
* Fix several performance problems in pg_dump when the database contains many objects (Jeff Janes, Tom Lane)
* pg_dump could get very slow if the database contained many schemas, or if many objects are in dependency loops, or if there are many owned sequences.
* Fix contrib/dblink's dblink_exec() to not leak temporary database connections upon error (Tom Lane)
* Update time zone data files to tzdata release 2012c for DST law changes in Antarctica, Armenia, Chile, Cuba, Falkland Islands, Gaza, Haiti, Hebron, Morocco, Syria, and Tokelau Islands; also historical corrections for Canada.
Mysql2
Mysql2 is a modern, simple and very fast Mysql library for Ruby - binding to
libmysql.
The Mysql2 gem is meant to serve the extremely common use-case of connecting,
querying and iterating on results. Some database libraries out there serve as
direct 1:1 mappings of the already complex C API's available. This one is
not.
It also forces the use of UTF-8 (or binary) for the connection (and all
strings in 1.9, unless Encoding.default_internal is set then it'll convert
from UTF-8 to that encoding) and uses encoding-aware MySQL API calls where it
can.
pkgsrc change: add RUBY_RAILS_STRICT_DEP which will be enabled later.
## Rails 3.1.6 (Jun 12, 2012)
* protect against the nesting of hashes changing the
table context in the next call to build_from_hash. This fix
covers this case as well.
CVE-2012-2695
pkgsrc change: add RUBY_RAILS_STRICT_DEP which will be enabled later.
## Rails 3.0.14 (Jun 12, 2012)
* protect against the nesting of hashes changing the
table context in the next call to build_from_hash. This fix
covers this case as well.
CVE-2012-2695
## Rails 3.2.6 (Jun 12, 2012) ##
* protect against the nesting of hashes changing the
table context in the next call to build_from_hash. This fix
covers this case as well.
CVE-2012-2695
* Revert earlier 'perf fix' (see 3.2.4 changelog / GH #6289). This
change introduced a regression (GH #6609). assoc.clear and
assoc.delete_all have loaded the association before doing the delete
since at least Rails 2.3. Doing the delete without loading the
records means that the `before_remove` and `after_remove` callbacks do
not get invoked. Therefore, this change was less a fix a more an
optimisation, which should only have gone into master.
*Jon Leighton*
* In-memory databases that are specified using URI filenames are allowed to use
shared cache, so that the same in-memory database can be accessed from
multiple database connections.
* Recognize and use the mode=memory query parameter in URI filenames.
* Avoid resetting the schema of shared cache connections when any one
connection closes. Instead, wait for the last connection to close before
reseting the schema.
* In the RTREE extension, when rounding 64-bit floating point numbers to 32-bit
for storage, always round in a direction that causes the bounding box to get
larger.
* Adjust the unix driver to avoid unnecessary calls to fchown().
* Add interfaces sqlite3_quota_ferror() and sqlite3_quota_file_available() to
the test_quota.c module.
* The sqlite3_create_module() and sqlite3_create_module_v2() interfaces return
SQLITE_MISUSE on any attempt to overload or replace a virtual table module.
The destructor is always called in this case, in accordance with historical
and current documentation.
PR 46534 by Wen Heping.
While here, set LICENSE=php.
Changes since 1.7.13:
All drivers:
* Made the definition of DB_common::raiseError() compatible with
PEAR::raiseError() by adding dummy parameters. Request 11581.
* Fixed SKIP block in the 20locale.phpt test.
* Fixed non-persistent connections to really be non-persistent when unserialising.
Bug 15115.
ibase:
* Changed the order of regular expressions applied when mapping errors so that
constraint violations in PHP 4.4 are actually reported as constraint
violations and not table not found errors.
* Fixed a test that should have been skipped in PHP 4.4.
ifx:
* Use PCRE rather than ereg. Bug 17722, patch by Olle Jonsson.
mssql:
* Fix escaping of string values with lines ending in a backslash character.
Bug 16117.
oci8:
* Fix for last_query reconstruction with lots of placeholders. Bug 12418, patch
by Nicholas Evans.
* Fix replacement of values in last_query for :bind's numbered over 10.
Bug 14603.
* Unset $_prepared_queries in freePrepared(). Bug 14271.
pgsql:
* Added special-case to handle SAVEPOINT queries as manip queries. Bug 12260.
* Implement rudimentary support for WITH...SELECT queries. Bug 17136.
sqlite:
* Added support for another error message in the SQLite driver. Bug 12105, patch
by Adam Ashley.
* Implement auto_increment support in tableInfo(). Request 13193.
* The --safe-mode server option now is deprecated and will be removed in MySQL
5.6.
* Performance: InnoDB: Improved the algorithm related to adaptive flushing.
This fix increases the rate of flushing in cases where compression is used
and the data set is larger than the buffer pool, leading to eviction.
* InnoDB: In a transaction using the REPEATABLE READ isolation level, an UPDATE
or DELETE statement for an InnoDB table could sometimes overlook rows
recently committed by other transactions. As explained in Section 14.3.9.2,
“Consistent Nonlocking Reads”, DML statements within a REPEATABLE READ
transaction apply to rows committed by other transactions, even if a query
could not see those rows.
* InnoDB: The Innodb_buffer_pool_pages_flushed status variable was incorrectly
set to twice the value it should be. Its value should never exceed the value
of Innodb_pages_written.
* InnoDB: The error handling and message was improved for attempting to create
a foreign key with a column referencing itself. The message suggested
a potential problem with the data dictionary, when no such problem existed.
* InnoDB: The CHECK TABLE statement could fail for a large InnoDB table due to
a timeout value of 2 hours. For typical storage devices, the issue could
occur for tables that exceeded approximately 200 or 350 GB, depending on I/O
speed. The fix relaxes the locking performed on the table being checked,
which makes the timeout less likely. It also makes InnoDB recognize the
syntax CHECK TABLE QUICK, which avoids the possibility of the timeout
entirely.
* Replication: It was theoretically possible for concurrent execution of more
than one instance of SHOW BINLOG EVENTS to crash the MySQL Server.
* Replication: Statements using AUTO_INCREMENT, LAST_INSERT_ID(), RAND(), or
user variables could be applied in the wrong context on the slave when using
statement-based replication and replication filtering server options (see
Section 16.2.3, “How Servers Evaluate Replication Filtering Rules”).
* Replication: An INSERT into a table that has a composite primary key that
includes an AUTO_INCREMENT column that is not the first column of this
composite key is not safe for statement-based binary logging or replication.
Such statements are now marked as unsafe and fail with an error when using
the STATEMENT binary logging format. For more information, see Section
16.1.2.3, “Determination of Safe and Unsafe Statements in Binary Logging”, as
well as Section 16.4.1.1, “Replication and AUTO_INCREMENT”.
3.2.4 had some regression related problem.
## Rails 3.2.4 (May 31, 2012) ##
* Perf fix: Don't load the records when doing assoc.delete_all.
GH #6289. *Jon Leighton*
* Association preloading shouldn't be affected by the current scoping.
This could cause infinite recursion and potentially other problems.
See GH #5667. *Jon Leighton*
* Datetime attributes are forced to be changed. GH #3965
* Fix attribute casting. GH #5549
* Fix#5667. Preloading should ignore scoping.
* Predicate builder should not recurse for determining where columns.
Thanks to Ben Murphy for reporting this! CVE-2012-2661
## Rails 3.1.5 (May 31, 2012) ##
* Fix type_to_sql with text and limit on mysql/mysql2. Fix GH #3931.
* only log an error if there is a logger. fixes#5226
* fix activerecord query_method regression with offset into Fixnum
* predicate builder should not recurse for determining where columns.
Thanks to Ben Murphy for reporting this! CVE-2012-2661
* Rails 3.0.13 (May 31, 2012)
* Bugfix circular reference while saving has_one relationship
* Test for circular reference while saving has_one relationship
* Fixed typo in composed_of example with Money#<=>
* predicate builder should not recurse for determining where columns.
Thanks to Ben Murphy for reporting this! CVE-2012-2661
=== 3.36.0 (2012-06-01)
* Use Bignum generic type when dumping unsigned integer types that could potentially overflow 32-bit signed integer values (stu314)
* Support :transform option in the nested_attributes plugin, for automatically preprocessing input hashes (chanks)
* Support :unmatched_pk option in the nested_attributes plugin, can be set to :create for associated objects with natural keys (chanks)
* Support composite primary keys in the nested_attributes plugin (chanks)
* Allow Model#from_json in the json_serializer plugin to use set_fields if a :fields option is given (jeremyevans)
* Support :using option to set_column_type on PostgreSQL, to force a specific conversion from the old value to the new value (jeremyevans)
* Drop indexes in the reverse order that they were added in the schema dumper (jeremyevans)
* Add :index_names option to schema dumper method, can be set to false or :namespace (stu314, jeremyevans)
* Add Database#global_index_namespace? for checking if index namespace is global or per table (jeremyevans)
* Fix typecasting of time columns on jdbc/postgres, before could be off by a millisecond (jeremyevans)
* Add document explaining Sequel's object model (jeremyevans)
* Attempt to detect more disconnect errors in the mysql2 adapter (jeremyevans)
* Add is_current? and check_current to the migrators, for checking/raising if there are unapplied migrations (pvh, jeremyevans) (#487)
* Add a jdbc subadapter for the Progress database (Michael Gliwinski, jeremyevans)
* Add pg_inet extension, for working with PostgreSQL inet and cidr types (jeremyevans)
* Fix bug in model column setters when passing an object that raises an exception for ==('') (jeremyevans)
* Add eager_each plugin, which makes each on an eagerly loaded dataset do eager loading (jeremyevans)
* Fix bugs when parsing foreign keys for tables with explicit schema on PostgreSQL (jeremyevans)
* Remove Database#case_sensitive_like on SQLite (jeremyevans)
* Remove Database#single_value in the native sqlite adapter (jeremyevans)
* Make Dataset#get work with nil and false arguments (jeremyevans)
* Make json_serializer plugin respect :root=>:collection and :root=>:instance options (jeremyevans)
* Support savepoints in prepared transactions on MySQL 5.5.23+ (jeremyevans)
* Add pg_json extension, for working with PostgreSQL 9.2's new json type (jeremyevans)
* In the optimistic locking plugin, make refresh and save after a failed save work correctly (jeremyevans)
* Support partial indexes on Microsoft SQL Server 2008 (jeremyevans)
* Make Database#call pass blocks (jeremyevans)
* Support :each when preparing statements, useful for iterating over large datasets (jeremyevans)
* Support :if_exists and :cascade options when dropping indexes on PostgreSQL (jeremyevans)
* Support :concurrently option when adding and dropping indexes on PostgreSQL (jeremyevans)
* Make Database#transaction on PostgreSQL recognize :synchronous, :read_only, and :deferrable options (jeremyevans)
* Support :sql_mode option when connecting to MySQL (jeremyevans)
* Apply :timeout MySQL connection setting on do, jdbc, and swift adapters (jeremyevans)
* Don't set Sequel::Model.db automatically when creating an anonymous class with an associated database object (jeremyevans)
* Add :connection_handling=>:queue option to the threaded connection pools, may reduce chance of stale connections (jeremyevans) (#481)
* Handle JRuby 1.7 exception handling changes when connecting in the jdbc adapter (jeremyevans) (#477)
* Make *_to_one association setters be noops if you pass a value that is the same as the cached value (jeremyevans)
* Make Model#refresh return self when using dirty plugin (jeremyevans)
=== 3.35.0 (2012-05-01)
* Correctly handle parsing schema for tables in other databases on MySQL (jeremyevans)
* Add DSL support for the modulus operator (%), similar to the bitwise operators (jeremyevans)
* Fix possible thread-safety issues on non-GVL ruby implementations (jeremyevans)
* Allow truncation of multiple tables at the same time on PostgreSQL (jeremyevans)
* Allow truncate to take a :cascade, :only, and :restart options on PostgreSQL (hgimenez, jeremyevans)
* Allow json and xml serializers to support :array option in class to_json method to serialize existing array of model instances (jeremyevans)
* Add dirty plugin, which saves the initial value of the column when the value is changed (jeremyevans)
* create_table now supports an :as option to create a table directly from the results of a query (jeremyevans)
* The :index option when creating columns in the schema generator can now be a hash of options passed to index (jeremyevans)
* Parsing the default column values in the oracle adapter no longer requires superuser privileges (Jason Hines)
* Add Database#cache_schema to allow schema caching to be turned of, useful for development modes where models are reloaded (jeremyevans)
* Correctly handle errors that occur when rolling back transactions (jeremyevans)
* Recognize identity type in the schema dumper (jeremyevans) (#468)
* Don't assign instance variables to Java objects, for future JRuby 2.0 support (jeremyevans) (#466)
* Use date and timestamp formats that are multilanguage and not DATEFORMAT dependent on Microsoft SQL Server (jeremyevans)
* Add Database#log_exception, which logs when a query raises an exception, for easier overriding (jeremyevans) (#465)
* Make the migrators only use transactions by default if the database supports transactional DDL (jeremyevans)
* Add Database#supports_transactional_ddl? for checking if DDL statements can be rolled back in transactions (jeremyevans)
* Don't use auto parameterization when using cursors in the pg_auto_parameterize extension (jeremyevans) (#463)
* No longer escape backslashes in strings by default, fixes doubled backslashes on some adapters (jeremyevans)
* Escape blackslash-carriage return-line feed in strings on Microsoft SQL Server (mluu, jeremyevans) (#462, #461)
* Remove Array#all_two_pairs? (jeremyevans)
* Remove Dataset#disable_insert_returning on PostgreSQL (jeremyevans)
* Remove support for PostgreSQL <8.2 (jeremyevans)
* Remove support for Ruby <1.8.7 (jeremyevans)
* Fixed incompatibility problems of Java DPL with JDK7, so DPL will now work
with JDK7.
* Added a flag to allow database locking to be disabled from the SQL API.
* Fixed a bug that could allocate a heap data page in a region after the region
creation has been undone.
* Redundant whitespaces are now ignored in DB_CONFIG lines pertaining to
directories, e.g. set_data_dir.
* Fixed a bug that caused DB_ENV->backup to stop early if DB_BACKUP_FILES was
not set and a non-DB file was in the data directory.
* Fixed a rare race condition that could cause a crash if two processes opened
the same database at the same time.
* Fixed missing cross compiling capability for the JDBC driver.
* Allow the same system/machine to host both a master and a replica database
through the use of relative pathnames.
* Fixed a bug in the Java API where EnvironmentConfig.setCreateDir would fail
to configure the environment.
* Fixed an assert failure in btreeCompare when allocating memory in the wrong
thread was causing a memory leak.
* Fixed a bug in the Java API where concurrent operations that change the
database schema could lead to a hang.
* Added JDBC code to the code base and updated the windows build files to
include the JDBC solution.
* Fixed a bug where the heap's region size was not getting swapped correctly in
mixed-endian environments.
* Fixed a bug in the db_sql_jdbc project file for vs2010 that was preventing it
from building correctly.
0.52 2012-05-29T18:32:42Z
- The DBI params are now encapsulated in a code reference, rather than
stored as the passed array, so that the password is less likely to be
displayed in a dump. Idea borrowed from Rose::DB. Patch from Brad
Bowman.
- Eliminated warning about the non-portability of a v-string on older
Perls. Thanks to Mark Lawrence for the report (Issue #17).
- Removed a couple of leftover examples of the `catch` feature removed
in v0.50. Thanks to Randy Stauner for the patch!
- Eliminated more "Use of qw(...) as parentheses" syntax errors in tests
when running on Perl 5.17.
- Add mention of DBI Callbacks parameter to the docs, as folks often ask
for this functionality, not realizing that the DBI already provides
it. Randy Stauner.
0.51 2012-02-18T00:14:48Z
- Fixed internal exception handling on Perls less than 5.14, where some
exceptions woult not be propagated to the caller.
0.50 2012-02-14T18:25:07Z
- The `catch` functionality has been completely removed. Any `catch`
block passed to `run()`, `txn()`, or `svp()` will be ignored. Errors
will trigger fatal exceptions.
- Removed the `with` method, which was deprecated in 0.34. Use `mode()`
instead.
- Fixed bad method call attempted when an `svp()` block failed. Thanks
to Ricardo SIGNES for the regression test and the fix.
- Fixed creation of the SQLite driver savepoint methods so that they
exist and work even if the driver is loaded before DBD::SQLite. Thanks
to Ricardo SIGNES for the regression test and the fix.
SQLAlchemy 0.6.9, a maintenance release of the 0.6 branch, is now
available.
The 0.6 series has not seen a release since 0.6.8 was released
nearly a year ago. During that time, the 0.7 series has gone through
over six releases, gaining many new features and bug fixes. A
portion of these fixes have been backported to 0.6 since 0.6.8,
including twelve ORM fixes, so 0.6.9 is an effort to make these
fixes widely available to those installations who have not yet
upgraded to 0.7. The release coincides at the same time as release
0.7.7, which is also fast approaching maintenance-only mode with
0.8 now well underway and close to initial beta releases.
Care has been taken in 0.6.9 to minimize as much as possible the
potential for backwards-incompatibilities with existing code, which
sometimes can occur if an application is unknowingly relying upon
a buggy behavior that is then fixed. So while 0.6.9 is a very
conservative release, it does still represent changes over a year's
time; users are strongly urged to carefully review the CHANGES file
to see exactly what's been adjusted, and to test it fully in their
existing 0.6 applications before promoting it to production.
* Fix a bug in the 3.7.12 release that can cause a segfault for certain obscure
nested aggregate queries.
* Fix various other minor test script problems.
Version 2.19.2 Released March 12, 2012
- Fix errors when multiple same-named placeholders are used. [GSM]
(CPAN bug #75713)
Version 2.19.1 Released March 10, 2012 (git commit db6f6da00467c7ea28d32c4df97e93ccc4d38f2b)
- Fix crash when passing in an array with undefined elements. [GSM]
Version 2.19.0 Released March 9, 2012 (git commit 05ab092905ce6891ed83e173412ee70d6cdb8cb5)
- Use proper formatting for warn() and croak() (CPAN bug #75642)
[Niko Tyni]
- Fix localized regex in test (CPAN bug #70759)
- Fix for named placeholders (CPAN bug #70953) [Jan Pazdziora]
- Various fixes to the array-marshalling code [Noah Misch, Mark
Stosberg, and David Christensen] (CPAN bug #58552)
- Allow hi-bit chars in dollar-quoted identifiers
[David Christensen] (CPAN bug #73832)
- Have do() return count for things such as CREATE TABLE .. AS SELECT
Will only work on 9.0 or better. (CPAN bug #71073) [Pavel Stehule]
- Better error message when trying to do things post-disconnect [GSM]
- Always respect pg_server_prepare=0 by using PQexec not PQexecParams. [GSM]
- Fix error in async docs (CPAN bug #72812)
- Switch from subversion to git.
git clone git://bucardo.org/dbdpg.git [GSM]
* Add the SQLITE_DBSTATUS_CACHE_WRITE option for sqlite3_db_status().
* Optimize the typeof() and length() SQL functions so that they avoid unnecessary reading of database content from disk.
* Add the FTS4 "merge" command, the FTS4 "automerge" command, and the FTS4 "integrity-check" command.
* Report the name of specific CHECK constraints that fail.
* In the command-line shell, use popen() instead of fopen() if the first character of the argument to the ".output" command is "|".
* Make use of OVERLAPPED in the windows VFS to avoid some system calls and thereby obtain a performance improvement.
* More aggressive optimization of the AND operator when one side or the other is always false.
* Improved performance of queries with many OR-connected terms in the WHERE clause that can all be indexed.
* Add the SQLITE_RTREE_INT_ONLY compile-time option to force the R*Tree Extension Module to use integer instead of floating point values for both storage and computation.
* Enhance the PRAGMA integrity_check command to use much less memory when processing multi-gigabyte databases.
* New interfaces added to the test_quota.c add-on module.
* Added the ".trace" dot-command to the command-line shell.
* Allow virtual table constructors to be invoked recursively.
* Improved optimization of ORDER BY clauses on compound queries.
* Improved optimization of aggregate subqueries contained within an aggregate query.
* Bug fix: Fix the RELEASE command so that it does not cancel pending queries. This repairs a problem introduced in 3.7.11.
* Bug fix: Do not discard the DISTINCT as superfluous unless a subset of the result set is subject to a UNIQUE constraint and it none of the columns in that subset can be NULL.
* Bug fix: Do not optimize away an ORDER BY clause that has the same terms as a UNIQUE index unless those terms are also NOT NULL.
Changes (http://dev.mysql.com/doc/refman/5.5/en/news-5-5-24.html):
Functionality Added or Changed
* Important Change: Replication: INSERT ON DUPLICATE KEY UPDATE is now
marked as unsafe for statement-based replication if the target table has
more than one primary or unique key. For more information, see Section
16.1.2.3, "Determination of Safe and Unsafe Statements in Binary
Logging".
Bugs Fixed
* Security Fix: Bug #64884 was fixed.
* InnoDB: Replication: When binary log statements were replayed on the
slave, the Com_insert, Com_update, and Com_delete counters were
incremented by BEGIN statements initiating transactions affecting InnoDB
tables but not by COMMIT statements ending such transactions. This
affected these statements whether they were replicated or they were run
using mysqlbinlog. (Bug #12662190)
* If the --bind-address option was given a host name value and the host
name resolved to more than one IP address, the server failed to
start. For example, with --bind-address=localhost, if localhost resolved
to both 127.0.0.1 and ::1, startup failed. Now the server prefers the
IPv4 address in such cases. (Bug #61713, Bug #12762885)
* mysql_store_result() and mysql_use_result() are not for use with
prepared statements and are not intended to be called following
mysql_stmt_execute(), but failed to return an error when invoked that
way in libmysqld. (Bug #62136, Bug #13738989)
References: See also Bug #47485.
* On Windows, mysqlslap crashed for attempts to connect using shared
memory. (Bug #31173, Bug #11747181, Bug #59107, Bug #11766072)
Changes (http://dev.mysql.com/doc/refman/5.1/en/news-5-1-63.html):
* Security Fix: Bug #64884 was fixed.
* Security Fix: Bug #59387 was fixed.
* InnoDB: Deleting a huge amount of data from InnoDB tables
within a short time could cause the purge operation that
flushes data from the buffer pool to stall. If this issue
occurs, restart the server to work around it. This issue is
only likely to occur on 32-bit platforms. (Bug #13847885)
* InnoDB: If the server crashed during a TRUNCATE TABLE or
CREATE INDEX statement for an InnoDB table, or a DROP DATABASE
statement for a database containing InnoDB tables, an index
could be corrupted, causing an error message when accessing
the table after restart:
InnoDB: Error: trying to load index index_name for table
table_name
InnoDB: but the index tree has been freed!
In MySQL 5.1, this fix applies to the InnoDB Plugin, but not
the built-in InnoDB storage engine. (Bug #12861864, Bug
#11766019)
* InnoDB: When data was removed from an InnoDB table, newly
inserted data might not reuse the freed disk blocks, leading
to an unexpected size increase for the system tablespace or
.ibd file (depending on the setting of innodb_file_per_table.
The OPTIMIZE TABLE could compact a .ibd file in some cases but
not others. The freed disk blocks would eventually be reused
as additional data was inserted. (Bug #11766634, Bug #59783)
* Partitioning: After updating a row of a partitioned table and
selecting that row within the same transaction with the query
cache enabled, then performing a ROLLBACK, the same result was
returned by an identical SELECT issued in a new transaction.
(Bug #11761296, Bug #53775)
* Replication: The --relay-log-space-limit option was sometimes
ignored.
More specifically, when the SQL thread went to sleep, it
allowed the I/O thread to queue additional events in such a
way that the relay log space limit was bypassed, and the
number of events in the queue could grow well past the point
where the relay logs needed to be rotated. Now in such cases,
the SQL thread checks to see whether the I/O thread should
rotate and provide the SQL thread a chance to purge the logs
(thus freeing space).
Note that, when the SQL thread is in the middle of a
transaction, it cannot purge the logs; it can only ask for
more events until the transaction is complete. Once the
transaction is finished, the SQL thread can immediately
instruct the I/O thread to rotate. (Bug #12400313, Bug #64503)
References: See also Bug #13806492.
* Mishandling of NO_BACKSLASH_ESCAPES SQL mode within stored
procedures on slave servers could cause replication failures.
(Bug #12601974)
* If the system time was adjusted backward during query
execution, the apparent execution time could be negative. But
in some cases these queries would be written to the slow query
log, with the negative execution time written as a large
unsigned number. Now statements with apparent negative
execution time are not written to the slow query log. (Bug
#63524, Bug #13454045) References: See also Bug #27208.
* mysql_store_result() and mysql_use_result() are not for use
with prepared statements and are not intended to be called
following mysql_stmt_execute(), but failed to return an error
when invoked that way in libmysqld. (Bug #62136, Bug
#13738989) References: See also Bug #47485.
* SHOW statements treated stored procedure, stored function, and
event names as case sensitive. (Bug #56224, Bug #11763507)
* On Windows, mysqlslap crashed for attempts to connect using
shared memory. (Bug #31173, Bug #11747181, Bug #59107, Bug
#11766072)