Announcing DBIx::Class 0.08124
Hello all,
I’m proud to announce DBIx::Class 0.08124! It’s been a VERY long time since 0.08123 and a this release brings lots of goodies.
My favorite is color-coded, correctly indented SQL, with placeholders filled in. Try it! Just do:
DBIC_TRACE_PROFILE=console DBIC_TRACE=1 ./foo.pl
There is also the exciting new “-ident” pseudofunction for SQL:
$rs->search({ foo => { -ident => ‘bar’ } })
which is the same as
$rs->search({ foo => \‘bar’ })
but more introspectible!
Also, I’m a big fan of the new doc-map, which is at DBIx::Class::Manual::Features. Check it out!
The entire changelog is as follows:
0.08124 2010-10-28 14:23 (UTC)
* New Features / Changes
- Add new -ident "function" indicating rhs is a column name
{ col => { -ident => 'othercol' } } vs { col => \'othercol' }
- Extend 'proxy' relationship attribute
- Use DBIx::Class::Storage::Debug::PrettyPrint when the
environment variable DBIC_TRACE_PROFILE is set, see
DBIx::Class::Storage for more information
- Implemented add_unique_constraints() which delegates to
add_unique_constraint() as appropriate
- add_unique_constraint() now poparly throws if called with
multiple constraint definitions
- No longer depend on SQL::Abstract::Limit - DBIC has been doing
most of the heavy lifting for a while anyway
- FilterColumn now passes data through when transformations
are not specified rather than throwing an exception.
- Optimized RowNum based Oracle limit-dialect (RT#61277)
- Requesting a pager on a resultset with cached entries now
throws an exception, instead of returning a 1-page object
since the amount of rows is always equal to the "pagesize"
- $rs->pager now uses a lazy count to determine the amount of
total entries only when really needed, instead of doing it
at instantiation time
- New documentation map organized by features
(DBIx::Class::Manual::Features)
- find( { ... }, { key => $constraint } ) now throws an exception
when the supplied data does not fully specify $constraint
- find( col1 => $val1, col2 => $val2, ... ) is no longer supported
(it has been in deprecated state for more than 4 years)
- Make sure exception_action does not allow exception-hiding
due to badly-written handlers (the mechanism was never meant
to be able to suppress exceptions)
* Fixes
- Fix memory leak during populate() on 5.8.x perls
- Temporarily fixed 5.13.x failures (RT#58225)
(perl-core fix still pending)
- Fix result_soutrce_instance leaks on compose_namespace
- Fix $_ volatility on load_namespaces (a class changing $_
at compile time no longer causes a massive fail)
- Fix find() without a key attr. choosing constraints even if
some of the supplied values are NULL (RT#59219)
- Fixed rels ending with me breaking subqueried limit realiasing
- Fixed $rs->update/delete on resutsets constrained by an
-or condition
- Remove rogue GROUP BY on non-multiplying prefetch-induced
subqueries
- Fix incorrect order_by handling with prefetch on
$ordered_rs->search_related ('has_many_rel') resultsets
- Oracle sequence detection now *really* works across schemas
(fixed some ommissions from 0.08123)
- dbicadmin now uses a /usr/bin/env shebang to work better with
perlbrew and other local perl builds
- bulk-inserts via $dbh->bind_array (void $rs->populate) now
display properly in DBIC_TRACE
- Incomplete exception thrown on relationship auto-fk-inference
failures
- Fixed distinct with order_by to not double-specify the same
column in the GROUP BY clause
- Properly support column names with symbols (e.g. single quote)
via custom accessors
- Fixed ::Schema::Versioned to work properly with quoting on
(RT#59619)
- Fixed t/54taint fails under local-lib
- Fixed SELECT ... FOR UPDATE with LIMIT regression (RT#58554)
- Fixed CDBICompat to preserve order of column-group additions,
so that test relying on the order of %{} will no longer fail
- Fixed mysterious ::Storage::DBI goto-shim failures on older
perl versions
- Non-blessed reference exceptions are now correctly preserved
when thrown from udner DBIC (e.g. from txn_do)
- No longer disconnecting database handles supplied to connect
via a coderef
- Fixed t/inflate/datetime_pg.t failures due to a low dependency
on DateTime::Format::Pg (RT#61503)
- Fix dirtyness detection on source-less objects
- Fix incorrect limit_dialect assignment on Replicated pool members
- Fix invalid sql on relationship attr order_by with prefetch
- Fix primary key sequence detection for Oracle
(first trigger instead of trigger for column)
- Add various missing things to Optional::Dependencies
- Skip a test that breaks due to serious bugs in current DBD::SQLite
- Fix tests related to leaks and leaky perls (5.13.5, 5.13.6)
* Misc
- Entire test suite now passes under DBIC_TRACE=1
- Makefile.PL no longer imports GetOptions() to interoperate
better with Catalyst installers
- Bumped minimum Module::Install for developers
- Bumped DBD::SQLite dependency and removed some TODO markers
from tests (RT#59565)
- Do not execute t/zzzzzzz_sqlite_deadlock.t for regular module
installs - test is prone to spontaneous blow up
- DT-related tests now require a DateTime >= 0.55 (RT#60324)
- Makefile.PL now provides a pre-parsed DBIC version to the
Opt::Dep pod generator
- t/52leaks.t now performs very aggressive leak detection in
author/smoker mode
Posted Thu, Oct 28, 2010If you're interested in being notified when new posts are published, you can subscribe here; you'll get an email once a week at the most.