[Dbix-class] ANNOUNCE: DBIx::Class 0.08117

Peter Rabbitson rabbit+dbic at rabbit.us
Fri Feb 5 17:42:06 GMT 2010


After two month in the making, the DBIC team is proud to present
the new shiny version of DBIx::Class. This is mainly a maintenance
release, sporting numerous fixes and optimizations under the hood.

Two features deserve a special mention:

The new JOIN-chain analyzer will yield much leaner queries, by
pruning away seemingly unused JOIN clauses (i.e. counting a
heavily joined/prefetched resultset will be much faster now).
The magic relies on the fact that all columns referencing joined
tables are fully qualified. If after upgrading to this DBIC
version you get strange errors about non-existing columns -
simply prefix the unqualified column with the relationship name.

Another fix concerns users of DBIx::Class::ForceUTF8. The
issue is described in RT#53520 [1], including a simply
workaround obsoleting DBIx::Class::ForceUTF8.

Other than that the release is practically made from awesome.
Download it and get this rusty RDBMS cracking. As usual flames
and praises welcome.

Full Changelog:
==================
        - Perl 5.8.1 is now the minimum supported version
        - Massive optimization of the join resolution code - now joins
          will be removed from the resulting SQL if DBIC can prove they
          are not referenced by anything
        - Subqueries no longer marked experimental
        - Support for Informix RDBMS (limit/offset and auto-inc columns)
        - Support for Sybase SQLAnywhere, both native and via ODBC
        - might_have/has_one now warn if applied calling class's column
          has is_nullable set to true.
        - Fixed regression in deploy() with a {sources} table limit applied
          (RT#52812)
        - Views without a view_definition will throw an exception when
          parsed by SQL::Translator::Parser::DBIx::Class
        - Stop the SQLT parser from auto-adding indexes identical to the
          Primary Key
        - InflateColumn::DateTime refactoring to allow fine grained method
          overloads
        - Fix ResultSetColumn improperly selecting more than the requested
          column when +columns/+select is present
        - Fix failure when update/delete of resultsets with complex WHERE
          SQLA structures
        - Fix regression in context sensitiveness of deployment_statements
        - Fix regression resulting in overcomplicated query on
          search_related from prefetching resultsets
        - Fix regression on all-null returning searches (properly switch
          LEFT JOIN to JOIN in order to distinguish between both cases)
        - Fix regression in groupedresultset count() used on strict-mode
          MySQL connections
        - Better isolation of RNO-limited queries from the rest of a
          prefetching resultset
        - New MSSQL specific resultset attribute to allow hacky ordered
          subquery support
        - Fix nasty schema/dbhandle leak due to SQL::Translator
        - Initial implementation of a mechanism for Schema::Version to
          apply multiple step upgrades
        - Fix regression on externally supplied $dbh with AutoCommit=0
        - FAQ "Custom methods in Result classes"
        - Cookbook POD fix for add_drop_table instead of add_drop_tables
        - Schema POD improvement for dclone


[1] https://rt.cpan.org/Public/Bug/Display.html?id=53520



More information about the DBIx-Class mailing list