Changes for version 0.08190_01 - 2011-05-02

  • New Features / Changes
    • Add quote_names connection option. When set to true automatically sets quote_char and name_sep appropriate for your RDBMS
    • Add retrieve_on_insert column info flag, allowing to retrieve any column value instead of just autoinc primary keys
    • Bring back strict ordering of selectors in complex search chains (an ill-fated attempt was made in 0.08127 to order intelligently)
    • All limit dialects (except for the older Top and FetchFirst) are now using bind parameters for the limits/offsets, making DBI's prepare_cached useful across paged resutsets
    • Support for savepoints for SQLite
    • Support for MS Access databases via DBD::ODBC and DBD::ADO (only Win32 support currently tested)
    • Support for the Firebird RDBMS over the new DBD::Firebird driver
    • IC::DateTime support for MSSQL over DBD::ADO
    • Both the ::ODBC and ::ADO dispatchers now warn if a rdbms-specific driver is not found for this connection before falling back to plain ::Storage::DBI
    • ::Storage::DBI::sth was mistakenly marked/documented as public, privatize and warn on deprecated use
    • Massive overhaul of bind values/attributes handling - slightly changes the output of as_query (should not cause compat issues)
    • Support ancient DB2 versions (5.4 and older), with proper limit dialect
    • Support sub-second precision for TIMESTAMPs for Firebird over ODBC
    • Support BLOBs and CLOBs in WHERE clauses for Oracle, including LIKE queries for CLOBs.
  • Fixes
    • Fix ::Storage::DBI::* MRO problems on 5.8.x perls
    • Disable mysql_auto_reconnect for MySQL - depending on the ENV it sometimes defaults to on and causes major borkage on older DBD::mysql versions
    • Fix dropped bind values in select/group_by on Oracle (omission from 0542ec57 and 4c2b30d6)
    • Fix remaining errors with Oracle and identifiers longer than the Oracle-imposed maximum of 30 characters (RT#66390)
    • Fix older oracle-specific "WhereJoins" to work properly with name quoting
    • Fix problems with M.A.D. under CGI::SpeedyCGI (RT#65131)
    • Reenable paging of cached resultsets - breakage erroneously added in 0.08127
    • Better error handling when prepare() fails silently
    • Fixes skipped lines when a comment is followed by a statement when deploying a schema via sql file
    • Fix reverse_relationship_info on prototypical result sources (sources not yet registered with a schema)
    • Warn and skip relationships missing from a partial schema during dbic cascade_delete
    • Automatically require the requested cursor class before use (RT#64795)
    • Work around a Firebird ODBC driver bug exposed by DBD::ODBC 1.29
    • Fix (to the extent allowed by the driver) transaction support in DBD::Sybase compiled against FreeTDS
    • Fix exiting via next warnings in ResultSource::sequence()
    • Fix stripping of table qualifiers in update/delete in arrayref condition elements
    • Change SQLMaker carp-monkeypatch to be compatible with versions of SQL::Abstract >= 1.73
    • Fix using \[] literals in the from resultset attribute
    • Fix populate() with \[], arrays (datatype) and other exotic values
    • Fix handling of rollbacks in nested transactions
    • Fix complex limits (RNO/RowNum/FetchFirst/Top/GenSubq) with sub-selects in the selectors list (correlated subqueries)
    • Fix inconsistency between $rs->next with and without HRI when all the "root" columns are in fact injected from the right rs side
    • Fix the join optimizer to correctly preserve the non-multi path to a multi relationship ( x -> might_have y -> has_many z )
    • Fix object-derived custom-relationship resultsets to resultsources with multilevel monikers (e.g. $schema->source('Foo::Bar') )
    • Fix incorrect signature of the default sqlt_deploy_hook - it now matches the documentation of passing in the result source object
    • Fix inadequate handling of internal storage methods within ::Storage::Replicated (RT#66295)
  • Misc
    • Rewire all warnings to a new Carp-like implementation internal to DBIx::Class, and remove the Carp::Clan dependency
    • Only load Class::C3 and friends if necessary ($] < 5.010)
    • Greatly reduced loading of non-essential modules to aid startup time (mainly benefiting CGI users)
    • Make sure all namespaces are clean of rogue imports
    • Dropped DBI req 2 years back - everything works with 1.57, no point requiring something newer

Changes for version 0.08190-TRIAL - 2011-01-24 (TRIAL RELEASE)

  • New Features / Changes
    • Support for completely arbitrary SQL::Abstract-based conditions in all types of relationships

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.
Provides advanced Carp::Clan-like warning functions for DBIx::Class internals
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
Serializable pointers to ResultSource instances
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 specific to MS Access
Support for DBD::ADO
Support for MS Access over ADO
GUID Support for MS Access over ADO
Support for Microsoft SQL Server via DBD::ADO
Storage component for RDBMS requiring explicit placeholder typing
Object representing a query cursor on a resultset.
IBM DB2 support for DBIx::Class
Driver for the Firebird RDBMS via DBD::Firebird
Driver Base Class for the Firebird RDBMS
Base Storage Class for Informix Support
Driver for the Firebird RDBMS via DBD::InterBase
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 SQL Anywhere
GUID Support for SQL Anywhere over DBD::SQLAnywhere
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
Base class for drivers using DBD::Sybase over FreeTDS.
(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 GUID types
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

Provides

in lib/DBIx/Class.pm