The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

Changes for version 0.08124 - 2010-10-28

  • 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

Documentation

Index of the Manual
Developing DBIx::Class Components
Miscellaneous recipes
What documentation do we have?
Simple CD database example
Frequently Asked Questions (in theory)
A boatload of DBIx::Class features with links to respective documentation
Clarification of terms used.
Introduction to DBIx::Class
Manual on joining tables with DBIx::Class
How to read and write DBIx::Class POD.
Got a problem? Shoot it.
utility for administrating DBIx::Class schemata

Modules

Extensible and flexible object <-> relational mapper.
See Class::Accessor::Grouped
Administration object for schemas
Class::DBI Compatibility layer.
Core set of DBIx::Class modules
Abstract object representing a query cursor on a resultset.
(DEPRECATED) classdata schema component
Exception objects for DBIx::Class
Automatically convert column data
Automatically create references from column data
Auto-create DateTime objects from date and datetime columns.
DEPRECATED (superseded by DBIx::Class::InflateColumn::FS)
Optional module dependency specifications (for module authors)
Modify the position of objects in an ordered list.
Primary Key class
Automatic primary key class
Inter-table relationships
Inter-table relationships
Get raw hashrefs from a resultset
Represents a query used for fetching a set of results.
helpful methods for messing with a single column of the resultset
scheduled for deletion in 09000
Result source object
ResultSource object representing a view
Decouple Rows/ResultSets objects from their Source objects
provides a classdata table object and method proxies
Basic row methods
An SQL::Abstract-based SQL maker class
SQL::Abstract::Limit-like functionality for DBIx::Class::SQLMaker
Pre-ANSI Joins-via-Where-Clause Syntax
composable schemas
DBIx::Class::Schema plugin for Schema upgrades
hooks for Storable nfreeze/thaw
Run environment checks on startup
Generic Storage Handler
DBI storage handler
Support for Microsoft SQL Server via DBD::ADO
Storage component for RDBMS requiring explicit placeholder typing
Object representing a query cursor on a resultset.
Automatic primary key class for DB2
Base Storage Class for Informix Support
Driver for the Firebird RDBMS
Base Class for Microsoft SQL Server support in DBIx::Class
Storage component for RDBMS supporting multicolumn in clauses
Sometime DBDs have poor to no support for bind variables
Base class for ODBC drivers
Support specific to MS Access over ODBC
Support specific to DB2/400 over ODBC
Driver for using the Firebird RDBMS through ODBC
Support specific to Microsoft SQL Server over ODBC
Driver for using Sybase SQL Anywhere through ODBC
Base class for Oracle driver
Oracle Support for DBIx::Class
Oracle joins in WHERE syntax support (instead of ANSI).
Automatic primary key class for PostgreSQL
BETA Replicated database support
Manage a pool of replicants
A replicated DBI Storage Role
A DBI Storage Role with DSN information in trace output
Driver for Sybase SQL Anywhere
Automatic primary key class for SQLite
Base class for drivers using DBD::Sybase
Sybase ASE SQL Server support for DBIx::Class
Storage::DBI subclass for Sybase ASE without placeholder support
(DEPRECATED) Legacy storage class for MSSQL via DBD::Sybase
Support for Microsoft SQL Server via DBD::Sybase
Support for Microsoft SQL Server via DBD::Sybase without placeholders
Storage component for RDBMSes supporting the 'uniqueidentifier' type
Storage::DBI class implementing MySQL specifics
Scope-based transaction handling
Force UTF8 (Unicode) flag on columns (DEPRECATED)
Create a SQL::Translator schema from a DBIx::Class::Schema instance