Changes for version 0.08099_08 - 2009-03-30

  • Fixed taint mode with load_namespaces
  • Putting IC::DateTime locale, timezone or floating_tz_ok attributes into extra => {} has been deprecated. The new way is to put these things directly into the columns definition
  • Switched MI code to MRO::Compat
  • Document db-side default_value caveats
  • Search_like() now warns to indicate deprecation in 0.09. (robkinyon)
  • TxnScopeGuard left experimental state

Changes for version 0.08099_07 - 2009-02-27

  • multi-create using find_or_create rather than _related for post-insert
  • fix get_inflated_columns to check has_column_loaded
  • Add DBIC_MULTICREATE_DEBUG env var (undocumented, quasi-internal)
  • Fix up multi-create to:
    • correctly propagate columns loaded during multi-insert of rels
    • not try and insert things tagged on via new_related unless required
  • Possible to set locale in IC::DateTime extra => {} config
  • Calling the accessor of a belongs_to when the foreign_key was NULL and the row was not stored would unexpectedly fail
  • Split sql statements for deploy only if SQLT::Producer returned a scalar containing all statements to be executed
  • Add as_query() for ResultSet and ResultSetColumn. This makes subqueries possible. See the Cookbook for details. (robkinyon, michaelr)
  • Massive rewrite of Ordered to properly handle position constraints and to make it more matpath-friendly
  • deploy_statements called ddl_filename with the $version and $dir arguments in the wrong order.
  • columns/+columns attributes now support { as => select } hahsrefs
  • support for views both in DBIC and via deploy() in SQLT

Changes for version 0.08099_06 - 2009-01-23

  • Allow a scalarref to be supplied to the 'from' resultset attribute
  • Classes submitted as result_class for a resultsource are now automatically loaded via ensure_loaded()
  • 'result_class' resultset attribute, identical to result_class()
  • add 'undef_on_null_fk' option for relationship accessors of type 'single'. This will prevent DBIC from querying the database if one or more of the key columns IS NULL
  • for 'belongs_to' rels, 'undef_on_null_fk' defaults to true.
  • fixed scope unaware last_insert_id fetching for MSSQL (http://msdn.microsoft.com/en-us/library/ms190315.aspx)
  • an sqlt_deploy_hook can now be shared between result sources using a configurable callback trigger
  • new order_by => { -desc => 'colname' } syntax supported
  • PG array datatype supported
  • insert should use store_column, not set_column to avoid marking clean just-stored values as dirty. New test for this
  • regression test for source_name

Changes for version 0.08099_05 - 2008-10-30

  • Rewritte of Storage::DBI::connect_info(), extended with an additional argument format type
  • InflateColumn::DateTime: add warning about floating timezone
  • InflateColumn::DateTime: possible to enforce/skip inflation
  • delete throws exception if passed arguments to prevent drunken mishaps. (purge)
  • Fix storage to copy scalar conds before regexping to avoid trying to modify a constant in odd edge cases
  • Related resultsets on uninserted objects are now empty
  • Fixed up related resultsets and multi-create
  • Fixed superfluous connection in ODBC::_rebless
  • Fixed undef PK for first insert in ODBC::Microsoft_SQL_Server
  • Added virtual method to Versioned so a user can create upgrade path across multiple versions (jgoulah)
  • Better (and marginally faster) implementation of the HashRefInflator hash construction algorithm
  • Allow explicit specification of ON DELETE/ON UPDATE constraints when using the SQLT parser

Changes for version 0.08099_04 - 2008-07-24

  • Functionality to storage to enable a sub to be run without FK checks
  • Fixed $schema->clone bug which caused clone and source to share internal hash refs
  • Added register_extra_source methods for additional sources
  • Added datetime_undef_if_invalid for InflateColumn::DateTime to return undef on invalid date/time values
  • Added search_related_rs method to ResultSet
  • add a make_column_dirty method to Row to force updates
  • throw a clear exception when user tries multi-has_many prefetch
  • SQLT parser prefixes index names with ${table}_idx_ to avoid clashes
  • mark ResultSetManager as deprecated and undocument it
  • pod fix (RT #32988)
  • add Test::Exception to test requirements (RT #34256)
  • make ash's build_requires/META.yml fixes work better
  • is_deferable support on relations used by the SQL::Translator parser
  • Refactored DBIx::Class::Schema::Versioned
  • Syntax errors from resultset components are now reported correctly
  • sqltargs respected correctly in deploy et al.
  • Added support for savepoints, and using them automatically in nested transactions if auto_savepoint is set in connect_info.
  • Changed naming scheme for constraints and keys in the sqlt parser; names should now be consistent and collision-free.
  • Improve handling of explicit key attr in ResultSet::find
  • Add warnings for non-unique ResultSet::find queries
  • Changed Storage::DBI::Replication to Storage::DBI::Replicated and refactored support.
  • By default now deploy/diff et al. will ignore constraint and index names
  • Add ResultSet::_is_deterministic_value, make new_result filter the values passed to new to drop values that would generate invalid SQL.
  • Use Sub::Name to name closures before installing them. Fixes incompatibility with Moose method modifiers on generated methods.

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.
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
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
provides a classdata table object and method proxies
Basic row methods
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
Some databases can't handle count distincts with multiple cols. They should use base on this.
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
Role to add a query counter
Automatic primary key class for SQLite
Storage::DBI subclass for Sybase
Storage::DBI subclass for MSSQL via DBD::Sybase
Automatic primary key class for MySQL
Scope-based transaction handling
Base class for running Class::DBI tests against DBIx::Class compat layer, shamelessly ripped from Class::DBI::Test::SQLite
Force UTF8 (Unicode) flag on columns
Create a SQL::Translator schema from a DBIx::Class::Schema instance

Provides

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