* Use lang/ruby/gem.mk instead of misc/rubygems/rubygem.mk.
* Remove default value of GEM_BUILD.
0.4.4
Make sure to use String representation of type constants. This fixes
the problem of MySQL values all becoming Ruby Strings instead of sane
and proper Ruby types (like Fixnum for MySQL integers, etc.) Thanks go
to http://github.com/naturalethic who suggested the fix at
http://github.com/Pistos/m4dbi/issues/#issue/2/comment/123677
* Use lang/ruby/gem.mk instead of misc/rubygems/rubygem.mk.
* Add LICENSE.
* Fix dependency according to gemspec.
Changes are unknown, but may be some bug fixes.
* Add LICENSE.
* Add proper dependency.
* Remove default value of GEM_BUILD.
= CHANGES
== 1.2.2: 2010-07-04
* Supported ActiveRecord 2.3.8 and Rails 2.3.8.
* [#37] Fixed gem dependencies in Rakefile. [zachwily]
* Fixed a bug that setting 'false' but 'nil' is returned. [Hideyuki Yasuda]
* Supported non-String attribute value as LDIF value. [Matt Mencel]
* Worked with a LDAP server that uses 'objectclass' not 'objectClass' as
objectClass attribute name. [Tim Hermans]
* [#41] Provide SASL-option support, primarily for authzid
[Anthony M. Martinez]
* [#43] Error with to_xml [ilusi0n.x]
* [#44] Accept '0' and '1' as boolean value [projekttabla]
* [#27429] Fixed inverted validatation by validate_excluded_classes
[Marc Dequ«²nes]
* Supported DN attribute value for assosiation replacement.
[J«Órg Herzinger]
Please refer http://dev.mysql.com/doc/refman/5.1/en/news-5-1-50.html
for full changes .
InnoDB Notes:
InnoDB Plugin has been upgraded to version 1.0.11. This version is
considered of General Availability (GA) quality.
In this release, the InnoDB Plugin is included in source and binary
distributions, except RHEL3, RHEL4, SuSE 9 (x86, x86_64, ia64),
generic Linux RPM packages, and any builds produced with the icc
compiler. It also does not work for FreeBSD 6 and HP-UX or for Linux
on generic ia64.
Bugs fixed:
Important Change: Replication: The LOAD DATA INFILE statement is now
considered unsafe for statement-based replication. When using
statement-based logging mode, the statement now produces a warning;
when using mixed-format logging, the statement is made using the
row-based format. (Bug#34283)
Partitioning: UPDATE and INSERT statements affecting partitioned
tables performed poorly when using row-based replication. (Bug#52517)
Partitioning: INSERT ON DUPLICATE KEY UPDATE statements performed
poorly on tables having many partitions. This was because the handler
function for reading a row from a specific index was not optimized in
the partitioning handler. (Bug#52455)
The server could crash on shutdown, if started with
--innodb-use-system-malloc=0. (Bug#55581)
GROUP BY operations used max_sort_length inconsistently. (Bug#55188)
Building MySQL on Solaris 8 x86 failed when using Sun Studio due to
gcc inline assembler code. (Bug#55061)
In debug builds, an assertion could be raised when the server tried to
send an OK packet to the client after having failed to detect errors
during processing of the WHERE condition of an UPDATE
statement. (Bug#54734)
The database server could crash when renaming a table that had active
transactions. (This issue only affected the database server when built
for debugging.) (Bug#54453)
The server could crash during the recovery phase of startup, if it
previously crashed while inserting BLOB or other large columns that
use off-page storage into an InnoDB table created with
ROW_FORMAT=REDUNDANT or ROW_FORMAT=COMPACT. (Bug#54408)
For an InnoDB table created with ROW_FORMAT=COMPRESSED or
ROW_FORMAT=DYNAMIC, a query using the READ UNCOMMITTED isolation level
could cause the server to stop with an assertion error, if BLOB or
other large columns that use off-page storage were being inserted at
the same time. (Bug#54358)
A client could supply data in chunks to a prepared statement parameter other than of type TEXT or BLOB using the mysql_stmt_send_long_data() C API function (or COM_STMT_SEND_LONG_DATA command). This led to a crash because other data types are not valid for long data. (Bug#54041)
mysql_secure_installation did not properly identify local accounts and
could incorrectly remove nonlocal root accounts. (Bug#54004)
Transactions could be incorrectly committed during recovery, rather
than rolled back, if the server crashed and was restarted after
performing ALTER TABLE...ADD PRIMARY KEY on an InnoDB table, or some
other operation that involves copying the entire table. (Bug#53756)
Portability problems in SHOW STATUS could lead to incorrect results on
some platforms. (Bug#53493)
Builds of MySQL generated a large number of warnings. (Bug#53445)
With lower_case_table_names set to a nonzero value, searches for table
or database names in INFORMATION_SCHEMA tables could produce incorrect
results. (Bug#53095)
The ABI check for MySQL failed to compile with gcc 4.5. (Bug#52514)
mysql_secure_installation sometimes failed to locate the mysql
client. (Bug#52274)
Reading a ucs2 data file with LOAD DATA INFILE was subject to three
problems. 1) Incorrect parsing of the file as ucs2 data, resulting in
incorrect length of the parsed string. This is fixed by truncating the
invalid trailing bytes (incomplete multibyte characters) when reading
from the file. 2) Reads from a proper ucs2 file did not recognize
newline characters. This is fixed by first checking whether a byte is
a newline (or any other special character) before reading it as a part
of a multibyte character. 3) When using user variables to hold column
data, the character set of the user variable was set incorrectly to
the database charset. This is fixed by setting it to the character set
specified in the LOAD DATA INFILE statement, if any. (Bug#51876)
Searches in INFORMATION_SCHEMA tables for rows matching a nonexistent
database produced an error instead of an empty query
result. (Bug#49542)
On FreeBSD, memory mapping for MERGE tables could fail if underlying
tables were empty. (Bug#47139)
The my_like_range_xxx() functions returned badly formed maximum
strings for Asian character sets, which caused problems for storage
engines. (Bug#45012)
A debugging assertion could be raised after a write failure to a
closed socket. (Bug#42496)
An assertion failure occurred within yaSSL for very long keys. (Bug#29784)
See also Bug#53463.
pkgsrc changes:
- adjust dependency version numbers to match versions of packages in pkgsrc
Upstream changes:
0.15 31 Aug 2010
* pod patches from movingtarget@mackler.org
* remove .yml config file and plugin dependency
* psycopg/cursor_type.c: executemany() propagates exceptions raised by the
iterable to the caller.
* lib/pool.py: dropped logging.basicConfig() call. It messes up with
projects using logging but where no handler is installed on the root
logger.
* psycopg/cursor_type.c: exceptions raised in the columns iterator of the
copy methods propagated to the caller.
* psycopg/typecast_datetime.c: Round seconds in historical timezones to
the nearest minute.
* lib/extras.py: register_tstz_w_secs() is now no-op.
Changes 2.2.1:
* Builds again on Windows.
Changes 2.2.0:
* typecast.c: Fixed problem related to receiving None from Python
when a string was expected.
* psycopg/adapter_datetime.c: Fixed TimestampFromTicks for second
values > 59.5.
* psycopg/adapter_datetime.c: Fixed same bug for TimeFromTicks.
* Added typecasters for arrays of specific MX/Py time-related types.
* psycopg/adapter_[mx]datetime.c: Explicit cast of the SQL representation
of time-related objects.
* psycopg/adapter_binary.c: Adapt buffer objects using an explicit cast on
the string literal
* lib/pqpath.c: Fixed reference leak in notify reception.
* Notifies are collected if available after every query execution.
* lib/extensions.py: DECIMAL typecaster imported from _psycopg.
* lib/extensions.py: PY* and MX* time typecaster imported from _psycopg.
* psycopg/connection_type.c: Correctly parse keywords in connect().
* psycopg/pqpath.c: Ensure running COPY in blocking mode.
* psycopg/pqpath.c: Free the GIL in blocking operations in V2 COPY FROM.
* psycopg/pqpath.c: Evaluate Python objects only once outside the COPY I/O
loops.
* Fixed problem with asynchronous NOTIFYs.
* Integrated async pacthes from Jan's git tree.
Upstream changes:
0.789 (06.23.2010) - John Siracusa <siracusa@gmail.com>
* Added support for SELECT FOR UPDATE and other forms of locking
(Initial patch by Kostas Chatzikokolakis)
* Fixed some POD typos (RT 58405)
0.788 (05.22.2010) - John Siracusa <siracusa@gmail.com>
* Fixed a bug that prevented function calls like now() from being
properly inlined, even when allow_inline_column_values was set
to a true value. (Reported by David Bourget)
* The Loader/auto-init system will now automatically set the
allow_inline_column_values attribute to a true value when a
column has a default value that looks like a function call.
* Fixed a non-numeric warning with development releases of Math::BigInt.
* Fixed SQL reserved word quoting bug. (Reported by Taric Mirza)
* Avoid stringifying exception objects when setting error().
(Suggested by Kostas Chatzikokolakis)
0.787 (04.27.2010) - John Siracusa <siracusa@gmail.com>
* Added remarks column attribute. (Patch by Adam Mackler)
* Improved error message generated by get_objects_from_sql() when
an unknown column is encountered.
* Added support for Rose::DB's keyword_function_calls attribute.
* Added dedicated timestamp with time zone column type.
* Inflate triggers now work correctly with lazy-loaded columns.
(Reported by Alex Karelas)
* Failure to have any valid registered data sources no longer causes
a fatal error when looking up default column sequence names during
class setup.
pkgsrc changes:
- import package for newly introduced dependency DateTime::Format::Oracle
Upstream changes:
0.762 (06.23.2010) - John Siracusa <siracusa@gmail.com>
* Support for Rose::DB::Object 0.789.
0.761 (05.22.2010) - John Siracusa <siracusa@gmail.com>
* Support for Rose::DB::Object 0.788.
* Detect and report problems caused by DBD::mysql versions that fail to
set the Active database handle attribute back to a true value when
mysql_auto_reconnect is set. (Reported by Matt S. Trout and Kostas
Chatzikokolakis)
0.760 (04.28.2010) - John Siracusa <siracusa@gmail.com>
* Moved version number back to three places after the decimal in order to
placate Unix package management systems. (Suggested by Matt S. Trout)
0.7591 (04.27.2010) - John Siracusa <siracusa@gmail.com>
* Corrected skip counts in MySQL tests.
0.759 (04.27.2010) - John Siracusa <siracusa@gmail.com>
* Fixed some inheritance dead ends (Reported by Matt S. Trout)
* Corrected parse_array()'s value unescaping (RT 56112)
* Added timestamp with time zone parsing/formating methods.
* Improved Oracle date/time parsing and formatting.
* DateTime::Format::Oracle is now a prerequisite (see above).
pkgsrc changes:
- adjust dependencies
Upstrean changes:
0.43 Sun Jul 25 01:00:34 UTC 2010
- add dep for MooseX::NonMoose for the use_moose=1 option
0.42 Sat Jul 24 23:14:27 UTC 2010
- add use_moose=1 to loader options by default for create=static
0.41 Wed Apr 28 08:42:13 EDT 2010
- allow configuring ResultSets using the SchemaProxy trait
pkgsrc changes:
- adjusting dependencies
Upstream changes:
0.49 11 April 2010
* uri_for_view_on_single_result() will return uri for 'view' action,
regardless of value of can_write().
0.50 13 May 2010
* fix make_primary_key_string() to get rid of bad sprintf() call
0.51 19 May 2010
* added use_request_uri_for_path to test MyApp to fix
test failures with Catalyst::Runtime 5.80024
Upstream changes:
0.39 Fri Mar 26 20:24:58 PDT 2010
- mysql: TEXT->LONGTEXT
- mysql: when reverse engineering, transform a default of
CURRENT_TIMESTAMP into the more common NOW()
- mysql: fix reverse-engineering of empty string default
Upstream changes:
0.13 2010-05-21 18:20:00
- Changing resolution of tests to not use seconds, RT #48385
- Changing comparison in tests to support Test::More 0.96, RT #57746
Upstream changes:
2010-08-11 Patrick Galbraith <patg@patg.net> (4.017)
* BUG #60085, Andreas Koenig's patch for DBI changes
* Updated documents
2010-07-10 Patrick Galbraith <patg@patg.net> (4.016)
* Disabled mysql_bind_type_guessing due to one performance issue
querying on a indexed character column unquoted will mean the index
is not used
* Fixed int types that should be bools
2010-07-09 Patrick Galbraith <patg@patg.net> (4.015)
* BUG #56664 fixed t/40blobs.t skip_all logic (W. Phillip Moore)
* BUG #57253 Fixed iteration past end of string (crash). (Chris Butler)
* Added a new parameter for old behavior- mysql_bind_comment_placeholders which
will make it possible to have placeholders bound for those who really
want that behavior.
* Fixed bind_type_guessing - always on now
2010-04-14 Patrick Galbraith <patg@patg.net> (4.014)
* BUG #30033 Fixed handling of comments to allow comments that contain characters
that might otherwise cause placeholder detection to not work properly
* BUG #53844, Fix for memory leak in stats. (Gregory Burmistrov)
* BUG #49719, Fix for handling of NULLs in prepared statements (Gert Pache)
* BUG #55627, Fix for testing failure due to strict mode (Yves)
* BUG #51784, Fix for mysqladmin on Windows in Makefile (Zeeshan Muhammad)
* BUG #41630, Typo in Makefile
* Had to define true and false in dbdimp.h. Didn't work out of the box on Linux
* Fix an old and very obscure bug that can lead to corruption of the database
free-page list when incremental_vacuum is used.
Changes 3.7.1:
* Added new commands SQLITE_DBSTATUS_SCHEMA_USED and SQLITE_DBSTATUS_STMT_USED
to the sqlite3_db_status() interface, in order to report out the amount of
memory used to hold the schema and prepared statements of a connection.
* Increase the maximum size of a database pages from 32KiB to 64KiB.
* Use the LIKE optimization even if the right-hand side string contains no
wildcards.
* Added the SQLITE_FCNTL_CHUNK_SIZE verb to the sqlite3_file_control()
interface for both unix and windows, to cause database files to grow in
large chunks in order to reduce disk fragmentation.
* Fixed a bug in the query planner that caused performance regresssions
relative to 3.6.23.1 on some complex joins.
* Fixed a typo in the OS/2 backend.
* Refactored the pager module.
* The SQLITE_MAX_PAGE_SIZE compile-time option is now silently ignored.
The maximum page size is hard-coded at 65536 bytes.
* script syntax error
* Fixed memory corruption issue introduced in 2.0.3 with replicating large rows
* cloneNodeFinish() references the proper column in sl_sequence
* Newer versions of flex have changed yyleng from an int to a size_t
instead of referencing the extern yyleng directly we use the function
yyget_leng() and have added a configure check to confirm that the version
of flex we use is not too old.
* Memory leak fixes
* Various documentation fixes
* cloneNodeFinish() called updateRelOid() that ws looking at wrong tab_id
sl_sequence but the column is named seq_id.
* Fixed mistyped variable name in ShouldSlonyVacuumTable
Upstream changes:
2.0001 Aug 22 12:03:00 2010 PDT
- Simply reading a hash or array element no longer causes autoviv-
ification. (Dereferencing it does still.) This makes DBM::Deep
comply with Perl's behaviour (RT#60391).
Makefile.PL is not groked by Perl's 5.12.1 ExtUtils::MakeMaker). As
a side effect fix PERL5_PACKLIST.
- While here add dependency on databases/p5-DBD-postgresql.
Bump PKGREVISION to 3.
to trigger/signal a rebuild for the transition 5.10.1 -> 5.12.1.
The list of packages is computed by finding all packages which end
up having either of PERL5_USE_PACKLIST, BUILDLINK_API_DEPENDS.perl,
or PERL5_PACKLIST defined in their make setup (tested via
"make show-vars VARNAMES=..."), minus the packages updated after
the perl package update.
sno@ was right after all, obache@ kindly asked and he@ led the
way. Thanks!
Changes since version 2.11.10:
- [setup] Fixed output sanitizing in setup script, see PMASA-2010-4 for
more details.
- [core] Fixed various XSS issues, see PMASA-2010-5 for more details.
Upstream changes:
2.0000 Jul 18 14:30:00 2010 PDT
- THIS VERSION IS NOT FULLY COMPATIBLE WITH 1.002x.
- This version is practically identical to the previous dev
release. See 1.9999_01, below, for all the hype.
- Also, a memory leak caused by misuse of field hashes has
been fixed.
- perl 5.8.4 is now required.
1.9999_02 Jul 11 13:02:00 2010 PDT
(This is the second developer release for 2.0000.)
- Fixed a broken test
- Fixed compilation and overloading under perl 5.8.x
1.9999_01 Jun 27 14:22:00 2010 PDT
(This is the first developer release for 2.0000.)
- THIS VERSION CHANGES THE FILE FORMAT.
- Databases from DBM::Deep 1.0003 and higher can still
be opened.
- Newly-created databases automatically use the version 2.x
format (numbered 4 internally), which version 1.x
cannot open.
- The optimize method, since it copies everything to a new
database, upgrades it.
- There is a new db_version method.
- Support for perl 5.6 has been dropped. We now require 5.8. 5.6
users can still use version 1.0025. If anyone really needs 5.6
support in version 2.x, we can add it back again, but would pre-
fer not to. Bug fixes may be back-ported to 1.002x if requested.
- The File back end now supports Unicode. This is only supported
for new databases. Old databases in the DBM::Deep 1.0003 format
will have to be upgraded for this to work.
- New external_refs mode, which allows objects retrieved from the
database to hang on to the corresponding database entries, keep-
ing them alive, even after all references to them from the data-
base itself have been deleted.
- Numeric comparison of DBM::Deep objects now works. Different
objects used to compare equal. And there were uninitial-
ized warnings.
- Deletions now work properly in the DBI back end. Deleting an
array or hash referenced by two keys in the database used to
be a no-op.
pkgsrc changes:
- adjust dependencies according to META.yml
Upstream changes:
0.07001 2010-07-24 21:28:08
- put is_deferrable => 1 back into default attributes for belongs_to
- fix Postgres sequence detection for qualified sequences
- detect DOS line ends in table/column comments and convert to \n
- added use_moose option
- always mark pk columns is_nullable=0
- fix unique constraint names for SQLite (actual names break ->deploy)
- fix bug in qualify_objects that would add schema to relnames
- better type info for Informix, except for DATETIME precision and
INTERVAL support
- better type info for DB2
- fix some newly-introduced test bugs
- fix composite PKs getting marked is_auto_increment on SQLite
0.07000 2010-05-22 23:40:15
- added qualify_objects option to prepend db_schema to table names
- fix for negative numeric default values
- sequence is detected for Oracle
- fix for SQLite is_auto_increment detection when table is empty (hobbs)
- rescan now reloads all tables
- minor type info improvements for all DBs
- fix erroneous default_value for MySQL NOT NULL columns (RT#57225)
- remove is_deferrable => 1 from default for belongs_to rels
- better type info for Oracle
- preliminary Informix support
- unregister dropped sources on rescan
- added 'preserve_case' option with support for all DBs where it makes
sense; removed the MSSQL 'case_sensitive_collation' and the
Firebird/InterBase 'unquoted_ddl' options in favor of it.
- support CamelCase table names and column names (in case-preserving
mode) at the v7 naming level
- rewrite datetime default functions as \'current_timestamp' where
possible (except for Sybase ASE) to ease cross-deployment
- use column_info instead of select to get Oracle column list (RT#42281)
- match quotes in MySQL parser in more places (RT#42101)
- fix unique detection in DB2 for multiple schemas (RT#39622)
- fix column name collisions with methods (RT#49443)
- fix loading MySQL views on older MySQL versions (RT#47399)
0.06001 2010-04-10 01:31:12
- fix type info for MSSQL
- fix MSSQL collation detection on freetds tds version 8.0
0.06000 2010-04-06 01:12:25
- better type info for MySQL
- initial MySQL data type tests (jhannah)
- don't set result_namespace if it's 'Result'
- support for MSSQL databases with case sensitive collation, manually
overridable with 'case_sensitive_collation' option
- do not try to detect driver and rebless when used with a custom
'loader_class'
- suppress 'bad table or view' warnings for filtered tables/views
- croak if several tables reduce to an identical moniker (ribasushi)
- better type info for Sybase ASE
- better type info for Pg: sets sequence for serials, handles numerics
without precision
- better _tables_list for MSSQL
- pick up views in SQLite too
- better rel inflection using Lingua::EN::Inflect::Phrase
- cascade_delete and cascade_copy are turned off for has_many/might_have
by default, and belongs_to has on_delete => 'CASCADE', on_update =>
'CASCADE' and is_deferrable => 1 by default, overridable via
relationship_attrs
- added config_file option for loading loader options from a file
- set inflate_datetime => 1 for 'AS getdate()' computed columns in
Sybase
- Firebird support
- use introspection pragmas instead of regexes to introspect SQLite
(hobbs)
- generate POD for refs correctly from column_info
- fix tables list, fk introspection and type info for SQL Anywhere
Upstream changes:
Version 1.31, released August 16th, 2010
----------------------------------------------
[Bug fixes]
* Fix misbehaviour of DELETE/UPDATE for tables with only basic capabilities
and no matching where clause (reported by H.Merijn Brand and Drew ...)
* Fix some column identifier splits to respect quoted tables
[Improvements]
* Optimized some core routines between 25% and 50%.
0.43 1st August 2010
* Changes to build with BDB 5.1
- Dropped support for Server option when creating an environment.
* Documantation updates.
RT# 59202
* Fixed compilation error with MS Visual Studio 2005
RT# 59924
This problem results mysqld to exit on start up.
5.1/i386 5.1/amd64 5.99.38/i386 5.99.38/amd64
my_time_t int32_t int64_t int32_t int64_t
time_t int32_t int32_t int64_t int64_t
I confirmed to mysqld running on these four case except 5.99.38/i386.
Bump PKG_REVISION.
Please refer http://dev.mysql.com/doc/refman/5.1/en/news-5-1-49.html
for full changes.
* InnoDB Plugin has been upgraded to version 1.0.10. This version is
considered of General Availability (GA) quality.
In this release, the InnoDB Plugin is included in source and binary
distributions, except RHEL3, RHEL4, SuSE 9 (x86, x86_64, ia64), and
generic Linux RPM packages. It also does not work for FreeBSD 6 and
HP-UX or for Linux on generic ia64.
Bugs fixed:
* Security Fix: After changing the values of the innodb_file_format or
innodb_file_per_table configuration parameters, DDL statements could
cause a server crash. (Bug#55039)
* Security Fix: Joins involving a table with with a unique SET column
could cause a server crash. (Bug#54575)
* Security Fix: Incorrect handling of NULL arguments could lead to a
crash for IN() or CASE operations when NULL arguments were either
passed explicitly as arguments (for IN()) or implicitly generated by
the WITH ROLLUP modifier (for IN() and CASE). (Bug#54477)
* Security Fix: A malformed argument to the BINLOG statement could
result in Valgrind warnings or a server crash. (Bug#54393)
* Security Fix: Use of TEMPORARY InnoDB tables with nullable columns
could cause a server crash. (Bug#54044)
* Security Fix: The server could crash if there were alternate reads
from two indexes on a table using the HANDLER interface. (Bug#54007)
* Security Fix: Using EXPLAIN with queries of the form SELECT
... UNION ... ORDER BY (SELECT ... WHERE ...) could cause a server
crash. (Bug#52711)
* Security Fix: LOAD DATA INFILE did not check for SQL errors and sent
an OK packet even when errors were already reported. Also, an assert
related to client-server protocol checking in debug servers
sometimes was raised when it should not have been. (Bug#52512)
* Fix a potential database corruption problem that can result if the same
database file is alternately written by version 3.7.0 and 3.6.23.1.
* Fix a possible performance regression caused by the introduction of automatic
indexing.
Pkgsrc changes:
- adjust dependencies
- set PERL5_MODULE_TYPE to Module::Install::Bundled
Upstream changes:
0.08123 2010-06-12 14:46 (UTC)
* Fixes
- Make sure Oracle identifier shortener applies to auto-generated
column names, so we stay within the 30-char limit (RT#58271)
- Oracle sequence detection now works across schemas
- Fix a Storage/$dbh leak introduced by the migration to
Try::Tiny (this is *not* a Try::Tiny bug)
- Fix corner case of count with group-by over a 1:1 join column
where the selector ends up with column name clashes
- POD fixes (RT#58247)
* Misc
- Test suite default on-disk database now checks for Win32
fail-conditions even when running on other OSes
0.08122 2010-06-03 17:41 (UTC)
* New Features
- Add DBIx::Class::FilterColumn for non-ref filtering
- ::Storage::DBI now correctly preserves a parent $dbh from
terminating children, even during interpreter-global
out-of-order destruction
- dbicadmin supports an -I option with the same semantics as
perl itself
- InflateColumn::DateTime support for MSSQL via DBD::Sybase
- Millisecond precision support for MSSQL datetimes for
InflateColumn::DateTime
- Oracle-specific hierarchical query syntax support:
CONNECT BY (NOCYCLE) / START WITH / ORDER SIBLINGS BY
- Support connecting using $ENV{DBI_DSN} and $ENV{DBI_DRIVER}
- current_source_alias method on ResultSet objects to
determine the alias to use in programatically assembled
search()es (originally added in 0.08100 but unmentioned)
- Rewrite/unification of all subselecting limit emulations
(RNO, Top, RowNum) to be much more robust wrt complex joined
resultsets
- MSSQL limits now don't require nearly as many applications of
the unsafe_subselect_ok attribute, due to optimized queries
- Support for Generic Subquery limit "emulation" - awfully slow
and inefficient but works on almost any db, and is preferred
to software limit emulation
- Sybase ASE driver now uses SET ROWCOUNT where possible, and
Generic Subquery otherwise for limit support instead of always
using software limit emulation
- create_ddl_dir (and derivatives) now attempt to create the given
$ddl_dir if it does not already exist
- deployment_statements now automatically supplies the current RDBMS
version to SQLT producer_args for MySQL, Pg, SQLite and Oracle
* Fixes
- Fix nasty potentially data-eating bug when deleting/updating
a limited resultset
- Fix find() to use result_class set on object
- Fix result_class setter behaviour to not mistakenly stuff attrs.
- Don't try and ensure_class_loaded an object. This doesn't work.
- Fix as_subselect_rs to not inject resultset class-wide where
conditions outside of the resulting subquery
- Fix count() failing with {for} resultset attribute (RT#56257)
- Fixed incorrect detection of Limit dialect on unconnected $schema
- update() on row not in_storage no longer throws an exception
if there are no dirty columns to update (fixes cascaded update
annoyances)
- update()/delete() on prefetching resultsets no longer results
in malformed SQL (some $rs attributes were erroneously left in)
- Fix dbicadmin to allow deploy() on non-versioned schema
- Fix dbicadmin to respect sql_dir on upgrade() (RT#57732)
- Update Schema::Versioned to respect hashref style of
connection_info
- Do not recreate the same related object twice during MultiCreate
(solves the problem of orphaned IC::FS files)
- Fully qualify xp_msver selector when using DBD::Sybase with
MSSQL (RT#57467)
- Fix ::DBI::Storage to always be able to present a full set of
connect() attributes to e.g. Schema::Versioned
- Fix Oracle auto-inc trigger detection of "INSERT OR UPDATE"-type
triggers
* Misc
- Reformatted Changelog \o/
- DBIC goes git://git.shadowcat.co.uk/dbsrgits/DBIx-Class.git
- Allow developers to skip optional dependency forcing when working
from a checkout
- Add a warning to load_namespaces if a class in ResultSet/ is not
a subclass of DBIx::Class::ResultSet
- All DBIC exception-handling switched to Try::Tiny
- All DBIC modules are now free of imports via namespace::clean
- Depend on optimized SQL::Abstract (faster SQL generation)
- Depend on new Class::Accessor::Grouped reintroducing optional use
of Class::XSAccessor (just install C::XSA and get lightning fast
column accessors)
0.08121 2010-04-11 18:43:00 (UTC)
- Support for Firebird RDBMS with DBD::InterBase and ODBC
- Add core support for INSERT RETURNING (for storages that
supports this syntax, currently PostgreSQL and Firebird)
- Fix spurious warnings on multiple UTF8Columns component loads
- DBIx::Class::UTF8Columns entered deprecated state
- DBIx::Class::InflateColumn::File entered deprecated state
- DBIx::Class::Optional::Dependencies left experimental state
- Add req_group_list to Opt::Deps (RT#55211)
- Add support for mysql-specific STRAIGHT_JOIN (RT#55579)
- Cascading delete/update are now wrapped in a transaction
for atomicity
- Fix accidental autovivification of ENV vars
- Fix update_all and delete_all to be wrapped in a transaction
- Fix multiple deficiencies when using MultiCreate with
data-encoder components (e.g. ::EncodedColumn)
- Fix regression where SQL files with comments were not
handled properly by ::Schema::Versioned.
- Fix regression on not properly throwing when $obj->relationship
is unresolvable
- Fix the join-optimiser to consider unqualified column names
whenever possible
- Fix an issue with multiple same-table joins confusing the join
optimizier
- Add has_relationship method to row objects
- Fix regression in set_column on PK-less objects
- Better error text on malformed/missing relationships
- Add POD about the significance of PK columns
- Fix for SQLite to ignore the (unsupported) { for => ... }
attribute
- Fix ambiguity in default directory handling of create_ddl_dir
(RT#54063)
- Support add_columns('+colname' => { ... }) to augment column
definitions.