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

Changes for version 0.07999_06 - 2007-06-13

  • tweaked Row.pm to make last_insert_id take multiple column names
  • Fixed DBIC::Storage::DBI::Cursor::DESTROY bug that was messing up exception handling
  • added exception objects to eliminate stacktrace/Carp::Clan output redundancy
  • setting $ENV{DBIC_TRACE} defaults stacktrace on.
  • added stacktrace option to Schema, makes throw_exception use "confess"
  • make database handles use throw_exception by default
  • make database handles supplied by a coderef use our standard HandleError/RaiseError/PrintError
  • add "unsafe" connect_info option to suppress our setting of HandleError/RaiseError/PrintError
  • removed several redundant evals whose sole purpose was to provide extra debugging info
  • fixed page-within-page bug (reported by nilsonsfj)
  • fixed rare bug when database is disconnected inbetween "$dbh->prepare_cached" and "$sth->execute"

Changes for version 0.07999_05 - 2007-06-07

  • Made source_name rw in ResultSource
  • Fixed up SQL::Translator test/runtime dependencies
  • Fixed t/60core.t in the absence of DateTime::Format::MySQL
  • Test cleanup and doc note (ribasushi)

Changes for version 0.07999_04 - 2007-06-01

  • pulled in Replication storage from branch and marked EXPERIMENTAL
  • fixup to ensure join always LEFT after first LEFT join depthwise
  • converted the vendor tests to use schema objects intead of schema classes, made cleaned more reliable with END blocks
  • versioning support via DBIx::Class::Schema::Versioned
  • find/next now return undef rather than () on fail from Bernhard Graf
  • rewritten collapse_result to fix prefetch
  • moved populate to resultset
  • added support for creation of related rows via insert and populate
  • transaction support more robust now in the face of varying AutoCommit and manual txn_begin usage
  • unbreak back-compat for Row/ResultSet->new_result
  • Added Oracle/WhereJoins.pm for Oracle >= 8 to support Oracle <= 9i, and provide Oracle with a better join method for later versions. (I use the term better loosely.)
  • The SQL::T parser class now respects a relationship attribute of is_foreign_key_constrain to allow explicit control over wether or not a foreign constraint is needed
  • resultset_class/result_class now (again) auto loads the specified class; requires Class::Accessor::Grouped 0.05002+
  • added get_inflated_columns to Row
  • %colinfo accessor and inflate_column now work together
  • More documentation updates
  • Error messages from ->deploy made more informative
  • connect_info will now always return the arguments it was originally given
  • A few small efficiency improvements for load_classes and compose_namespace

Changes for version 0.07999_02 - 2007-01-25

  • add support for binding BYTEA and similar parameters (w/Pg impl)
  • add support to Ordered for multiple ordering columns
  • mark DB.pm and compose_connection as deprecated
  • switch tests to compose_namespace
  • ResltClass::HashRefInflator added
  • Changed row and rs objects to not have direct handle to a source, instead a (schema,source_name) tuple of type ResultSourceHandle

Changes for version 0.07999_01 - 2006-10-05

  • add connect_info option "disable_statement_caching"
  • create insert_bulk using execute_array, populate uses it
  • added DBIx::Class::Schema::load_namespaces, alternative to load_classes
  • added source_info method for source-level metadata (kinda like column_info)
  • Some of ::Storage::DBI's code/docs moved to ::Storage
  • DBIx::Class::Schema::txn_do code moved to ::Storage
  • Storage::DBI now uses exceptions instead of ->ping/->{Active} checks
  • Storage exceptions are thrown via the schema class's throw_exception
  • DBIx::Class::Schema::throw_exception's behavior can be modified via ->exception_action
  • columns_info_for is deprecated, and no longer runs automatically. You can make it work like before via __PACKAGE__->column_info_from_storage(1) for now
  • Replaced DBIx::Class::AccessorGroup and Class::Data::Accessor with Class::Accessor::Grouped. Only user noticible change is to table_class on ResultSourceProxy::Table (i.e. table objects in schemas) and, resultset_class and result_class in ResultSource. These accessors no longer automatically require the classes when set.

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
Got a problem? Shoot it.
Execute operations upon DBIx::Class objects.

Modules

Extensible and flexible object <-> relational mapper.
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
Responsible for fetching and creating resultset.
helpful methods for messing with a single column of the resultset
helpful methods for managing resultset classes (EXPERIMENTAL)
Result source object
provides a classdata table object and method proxies
Basic row methods
composable schemas
DBIx::Class::Schema plugin for Schema upgrades
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 DB2/400 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
EXPERIMENTAL Replicated database support
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
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

Provides

in lib/DBIx/Class/Storage/DBI.pm
in lib/DBIx/Class/Storage/DBI/Oracle/WhereJoins.pm
in lib/DBIx/Class/CDBICompat/ColumnGroups.pm
in lib/DBIx/Class/Schema/Versioned.pm
in lib/DBIx/Class/Schema/Versioned.pm
in lib/DBIx/Class/CDBICompat/ImaDBI.pm