Changes for version 0.082840
- New Features
- When using non-scalars (e.g. arrays) as literal bind values it is no longer necessary to explicitly specify a bindtype (this turned out to be a mostly useless overprotection)
- Fixes
- Ensure leaving an exception stack via Return::MultiLevel or something similar produces a large warning
- Another relatively invasive set of ::FilterColumn changes, covering potential data loss (RT#111567). Please run your regression tests!
- Ensure failing on_connect* / on_disconnect* are dealt with properly, notably on_connect* failures now properly abort the entire connect
- Fix use of ::Schema::Versioned combined with a user-supplied $dbh->{HandleError} (GH#101)
- Fix parsing of DSNs containing driver arguments (GH#99)
- Fix silencing of exceptions thrown by custom inflate_result() methods
- Fix complex prefetch when ordering over foreign boolean columns ( Pg can't MAX(boolcol) despite being able to ORDER BY boolcol )
- Fix infinite loop on ->svp_release("nonexistent_savepoint") (GH#97)
- Fix spurious ROLLBACK statements when a TxnScopeGuard fails a commit of a transaction with deferred FK checks: a guard is now inactivated immediately before the commit is attempted (RT#107159)
- Fix the Sybase ASE storage incorrectly attempting to retrieve an autoinc value when inserting rows containing blobs (GH#82)
- Remove spurious exception warping in ::Replicated::execute_reliably (RT#113339)
- Work around unreliable $sth->finish() on INSERT ... RETURNING within DBD::Firebird on some compiler/driver combinations (RT#110979)
- Fix leaktest failures with upcoming version of Sub::Quote
- Really fix savepoint rollbacks on older DBD::SQLite (fix in 0.082800 was not sufficient to cover up RT#67843)
- Misc
- Test suite is now officially certified to work under very high random parallelism: META x_parallel_test_certified set to true accordingly
- Typo fixes from downstream debian packagers (RT#112007)
Documentation
- DBIx::Class - Extensible and flexible object <-> relational mapper.
- DBIx::Class::Carp - Provides advanced Carp::Clan-like warning functions for DBIx::Class internals
- DBIx::Class::FilterColumn - Automatically convert column data
- DBIx::Class::InflateColumn - Automatically create references from column data
- DBIx::Class::InflateColumn::DateTime - Auto-create DateTime objects from date and datetime columns.
- DBIx::Class::Manual - Index of the Manual
- DBIx::Class::Manual::Component - Developing DBIx::Class Components
- DBIx::Class::Manual::Cookbook - Miscellaneous recipes
- DBIx::Class::Manual::DocMap - What documentation do we have?
- DBIx::Class::Manual::Example - Simple CD database example
- DBIx::Class::Manual::FAQ - Frequently Asked Questions (in theory)
- DBIx::Class::Manual::Features - A boatload of DBIx::Class features with links to respective documentation
- DBIx::Class::Manual::Glossary - Clarification of terms used.
- DBIx::Class::Manual::Intro - Introduction to DBIx::Class
- DBIx::Class::Manual::Joining - Manual on joining tables with DBIx::Class
- DBIx::Class::Manual::QuickStart - up and running with DBIC in 10 minutes
- DBIx::Class::Manual::Reading - How to read and write DBIx::Class POD.
- DBIx::Class::Manual::ResultClass - Representing a single result (row) from a DB query
- DBIx::Class::Manual::Troubleshooting - Got a problem? Shoot it.
- DBIx::Class::PK - Primary Key class
- DBIx::Class::ResultSource::Table - Table object
- DBIx::Class::ResultSource::View - ResultSource object representing a view
- DBIx::Class::ResultSourceProxy::Table - provides a classdata table object and method proxies
- DBIx::Class::SQLMaker - An SQL::Abstract-based SQL maker class
- DBIx::Class::SQLMaker::OracleJoins - Pre-ANSI Joins-via-Where-Clause Syntax
- DBIx::Class::Storage::BlockRunner - Try running a block of code until success with a configurable retry logic
- DBIx::Class::Storage::DBI::Replicated::Introduction - Minimum Need to Know
- dbicadmin - utility for administrating DBIx::Class schemata
Modules
- DBIx::Class - Extensible and flexible object <-> relational mapper.
- DBIx::Class::AccessorGroup - See Class::Accessor::Grouped
- DBIx::Class::Admin - Administration object for schemas
- DBIx::Class::CDBICompat - Class::DBI Compatibility layer.
- DBIx::Class::Core - Core set of DBIx::Class modules
- DBIx::Class::Cursor - Abstract object representing a query cursor on a resultset.
- DBIx::Class::DB - (DEPRECATED) classdata schema component
- DBIx::Class::Exception - Exception objects for DBIx::Class
- DBIx::Class::FilterColumn - Automatically convert column data
- DBIx::Class::InflateColumn - Automatically create references from column data
- DBIx::Class::InflateColumn::DateTime - Auto-create DateTime objects from date and datetime columns.
- DBIx::Class::InflateColumn::File - DEPRECATED (superseded by DBIx::Class::InflateColumn::FS)
- DBIx::Class::Ordered - Modify the position of objects in an ordered list.
- DBIx::Class::PK - Primary Key class
- DBIx::Class::PK::Auto - Automatic primary key class
- DBIx::Class::Relationship - Inter-table relationships
- DBIx::Class::Relationship::Base - Inter-table relationships
- DBIx::Class::ResultClass::HashRefInflator - Get raw hashrefs from a resultset
- DBIx::Class::ResultSet - Represents a query used for fetching a set of results.
- DBIx::Class::ResultSetColumn - helpful methods for messing with a single column of the resultset
- DBIx::Class::ResultSetManager - scheduled for deletion in 09000
- DBIx::Class::ResultSource - Result source object
- DBIx::Class::ResultSource::Table - Table object
- DBIx::Class::ResultSource::View - ResultSource object representing a view
- DBIx::Class::ResultSourceHandle - Serializable pointers to ResultSource instances
- DBIx::Class::ResultSourceProxy::Table - provides a classdata table object and method proxies
- DBIx::Class::Row - Basic row methods
- DBIx::Class::SQLMaker - An SQL::Abstract-based SQL maker class
- DBIx::Class::SQLMaker::LimitDialects - SQL::Abstract::Limit-like functionality for DBIx::Class::SQLMaker
- DBIx::Class::SQLMaker::OracleJoins - Pre-ANSI Joins-via-Where-Clause Syntax
- DBIx::Class::Schema - composable schemas
- DBIx::Class::Schema::Versioned - DBIx::Class::Schema plugin for Schema upgrades
- DBIx::Class::Serialize::Storable - hooks for Storable nfreeze/thaw
- DBIx::Class::StartupCheck - Run environment checks on startup
- DBIx::Class::Storage - Generic Storage Handler
- DBIx::Class::Storage::DBI - DBI storage handler
- DBIx::Class::Storage::DBI::ACCESS - Support specific to MS Access
- DBIx::Class::Storage::DBI::ADO - Support for DBD::ADO
- DBIx::Class::Storage::DBI::ADO::MS_Jet - Support for MS Access over ADO
- DBIx::Class::Storage::DBI::ADO::MS_Jet::Cursor - GUID Support for MS Access over ADO
- DBIx::Class::Storage::DBI::ADO::Microsoft_SQL_Server - Support for Microsoft SQL Server via DBD::ADO
- DBIx::Class::Storage::DBI::ADO::Microsoft_SQL_Server::Cursor - Remove trailing NULLs in binary data and normalize GUIDs for MSSQL over ADO
- DBIx::Class::Storage::DBI::AutoCast - Storage component for RDBMS requiring explicit placeholder typing
- DBIx::Class::Storage::DBI::Cursor - Object representing a query cursor on a resultset.
- DBIx::Class::Storage::DBI::DB2 - IBM DB2 support for DBIx::Class
- DBIx::Class::Storage::DBI::Firebird - Driver for the Firebird RDBMS via DBD::Firebird
- DBIx::Class::Storage::DBI::Firebird::Common - Driver Base Class for the Firebird RDBMS
- DBIx::Class::Storage::DBI::IdentityInsert - Storage Component for Sybase ASE and MSSQL for Identity Inserts / Updates
- DBIx::Class::Storage::DBI::Informix - Base Storage Class for Informix Support
- DBIx::Class::Storage::DBI::InterBase - Driver for the Firebird RDBMS via DBD::InterBase
- DBIx::Class::Storage::DBI::MSSQL - Base Class for Microsoft SQL Server support in DBIx::Class
- DBIx::Class::Storage::DBI::NoBindVars - Sometime DBDs have poor to no support for bind variables
- DBIx::Class::Storage::DBI::ODBC - Base class for ODBC drivers
- DBIx::Class::Storage::DBI::ODBC::ACCESS - Support specific to MS Access over ODBC
- DBIx::Class::Storage::DBI::ODBC::DB2_400_SQL - Support specific to DB2/400 over ODBC
- DBIx::Class::Storage::DBI::ODBC::Firebird - Driver for using the Firebird RDBMS through ODBC
- DBIx::Class::Storage::DBI::ODBC::Microsoft_SQL_Server - Support specific to Microsoft SQL Server over ODBC
- DBIx::Class::Storage::DBI::ODBC::SQL_Anywhere - Driver for using Sybase SQL Anywhere through ODBC
- DBIx::Class::Storage::DBI::Oracle - Base class for Oracle driver
- DBIx::Class::Storage::DBI::Oracle::Generic - Oracle Support for DBIx::Class
- DBIx::Class::Storage::DBI::Oracle::WhereJoins - Oracle joins in WHERE syntax support (instead of ANSI).
- DBIx::Class::Storage::DBI::Pg - Automatic primary key class for PostgreSQL
- DBIx::Class::Storage::DBI::Replicated - BETA Replicated database support
- DBIx::Class::Storage::DBI::Replicated::Balancer - A Software Load Balancer
- DBIx::Class::Storage::DBI::Replicated::Balancer::First - Just get the First Balancer
- DBIx::Class::Storage::DBI::Replicated::Balancer::Random - A 'random' Balancer
- DBIx::Class::Storage::DBI::Replicated::Pool - Manage a pool of replicants
- DBIx::Class::Storage::DBI::Replicated::Replicant - A replicated DBI Storage Role
- DBIx::Class::Storage::DBI::Replicated::WithDSN - A DBI Storage Role with DSN information in trace output
- DBIx::Class::Storage::DBI::SQLAnywhere - Driver for SQL Anywhere
- DBIx::Class::Storage::DBI::SQLAnywhere::Cursor - GUID Support for SQL Anywhere over DBD::SQLAnywhere
- DBIx::Class::Storage::DBI::SQLite - Automatic primary key class for SQLite
- DBIx::Class::Storage::DBI::Sybase - Base class for drivers using DBD::Sybase
- DBIx::Class::Storage::DBI::Sybase::ASE - Sybase ASE SQL Server support for DBIx::Class
- DBIx::Class::Storage::DBI::Sybase::ASE::NoBindVars - Storage::DBI subclass for Sybase ASE without placeholder support
- DBIx::Class::Storage::DBI::Sybase::FreeTDS - Base class for drivers using DBD::Sybase over FreeTDS.
- DBIx::Class::Storage::DBI::Sybase::MSSQL - (DEPRECATED) Legacy storage class for MSSQL via DBD::Sybase
- DBIx::Class::Storage::DBI::Sybase::Microsoft_SQL_Server - Support for Microsoft SQL Server via DBD::Sybase
- DBIx::Class::Storage::DBI::Sybase::Microsoft_SQL_Server::NoBindVars - Support for Microsoft SQL Server via DBD::Sybase without placeholders
- DBIx::Class::Storage::DBI::UniqueIdentifier - Storage component for RDBMSes supporting GUID types
- DBIx::Class::Storage::DBI::mysql - Storage::DBI class implementing MySQL specifics
- DBIx::Class::Storage::Statistics - SQL Statistics
- DBIx::Class::Storage::TxnScopeGuard - Scope-based transaction handling
- DBIx::Class::UTF8Columns - Force UTF8 (Unicode) flag on columns (DEPRECATED)
- SQL::Translator::Parser::DBIx::Class - Create a SQL::Translator schema from a DBIx::Class::Schema instance
- SQL::Translator::Producer::DBIx::Class::File - DBIx::Class file producer
- DBIx::Class::Optional::Dependencies - Optional module dependency specifications (for module authors)
Examples
- examples/Benchmarks/benchmark_datafetch.pl
- examples/Benchmarks/benchmark_hashrefinflator.pl
- examples/MiscTools/determine_cpan_joint_deps.pl
- examples/Schema/db/example.db
- examples/Schema/db/example.sql
- examples/Schema/insertdb.pl
- examples/Schema/MyApp/Schema.pm
- examples/Schema/MyApp/Schema/Result/Artist.pm
- examples/Schema/MyApp/Schema/Result/Cd.pm
- examples/Schema/MyApp/Schema/Result/Track.pm
- examples/Schema/testdb.pl
- lib/DBIx/Class/Manual/Example.pod