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

Changes for version 0.08103 - 2009-05-26

  • Multiple $resultset -> count/update/delete fixes. Now any of these operations will succeed, regardless of the complexity of $resultset. distinct, group_by, join, prefetch are all supported with expected results
  • Return value of $rs->delete is now the storage return value and not 1 as it used to be
  • don't pass SQL functions into GROUP BY
  • Remove MultiDistinctEmulation.pm, effectively deprecating { select => { distinct => [ qw/col1 col2/ ] } }
  • Change ->count code to work correctly with DISTINCT (distinct => 1) via GROUP BY
  • Removed interpolation of bind vars for as_query - placeholders are preserved and nested query bind variables are properly merged in the correct order
  • Refactor DBIx::Class::Storage::DBI::Sybase to automatically load a subclass, namely Microsoft_SQL_Server.pm (similar to DBIx::Class::Storage::DBI::ODBC)
  • Refactor InflateColumn::DateTime to allow components to circumvent DateTime parsing
  • Support inflation of timestamp datatype
  • Support BLOB and CLOB datatypes on Oracle
  • Storage::DBI::Replicated::Balancer::Random: added master_read_weight
  • Storage::DBI::Replicated: storage opts from connect_info, connect_info merging to replicants, hashref connect_info support, improved trace output, other bug fixes/cleanups
  • distinct => 1 with prefetch now groups by all columns
  • on_connect_do accepts a single string equivalent to a one element arrayref (RT#45159)
  • DB2 limit + offset now works correctly
  • Sybase now supports autoinc PKs (RT#40265)
  • Prefetch on joins over duplicate relations now works correctly (RT#28451)
  • "timestamp with time zone" columns (for Pg) now get inflated with a time zone information preserved
  • MSSQL Top limit-emulation improvements (GROUP BY and subquery support)
  • ResultSetColumn will not lose the joins infered from a parent resultset prefetch

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)
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.
Execute operations upon DBIx::Class objects.

Modules

Extensible and flexible object <-> relational mapper.
See Class::Accessor::Grouped
Class::DBI Compatibility layer.
Emulates Class::DBI::AbstractSearch
Emulates the behavior of Class::DBI where the object can be accessed as a hash of columns.
Emulates Class::DBI->copy($new_id)
Emulates the extra behaviors of the Class::DBI search iterator.
Defines empty methods for object indexing. They do nothing
Emulate the Class::DBI::Relationship object returned from meta_info()
Emulate has_a(), has_many(), might_have() and meta_info()
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 create references from column data
Auto-create DateTime objects from date and datetime columns.
map files from the Database to the filesystem.
Modify the position of objects in an ordered list.
Primary Key class
Automatic primary key class
(DEPRECATED) Automatic primary key class for DB2
(DEPRECATED) Automatic primary key class for MSSQL
(DEPRECATED) Automatic primary key class for MySQL
(DEPRECATED) Automatic primary key class for Oracle
(DEPRECATED) Automatic primary key class for Pg
(DEPRECATED) Automatic primary key class for SQLite
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
This module is a subclass of SQL::Abstract::Limit and includes a number of DBIC-specific workarounds, not yet suitable for inclusion into SQLA proper.
Pre-ANSI Joins-via-Where-Clause Syntax
composable schemas
DBIx::Class::Schema plugin for Schema upgrades
hooks for Storable freeze/thaw
Run environment checks on startup
Generic Storage Handler
DBI storage handler
Object representing a query cursor on a resultset.
Automatic primary key class for DB2
Storage::DBI subclass for MSSQL
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
Support specific to Microsoft SQL Server over ODBC
Base class for Oracle driver
Automatic primary key class for Oracle
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
Types used internally by DBIx::Class::Storage::DBI::Replicated
A DBI Storage Role with DSN information in trace output
Role to add a query counter
Automatic primary key class for SQLite
Storage::DBI subclass for Sybase
(DEPRECATED) Legacy storage class for MSSQL via DBD::Sybase
Storage::DBI subclass for MSSQL via DBD::Sybase
Automatic primary key class for MySQL
Scope-based transaction handling
Force UTF8 (Unicode) flag on columns
Create a SQL::Translator schema from a DBIx::Class::Schema instance

Provides

in lib/DBIx/Class/CDBICompat/Iterator.pm