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

Changes for version 0.95

  • Pre-Requisites
  • Now requires Perl 5.6 or greater
  • New Functionality
    • constrain_column() adds simple per-column constraints
    • has_many now attempts to work out the reference column by examining the foreign class's has_a() declarations, making the 3rd argument to has_many mostly obsolete.
    • __TABLE(Other::Class)__ now interpolates the table from the other class, allowing avoidance of hard-coding other table names.
    • __ESSENTIAL(alias)__ now prepends the table alias supplied to the start of each column name, for avoiding column name clashes.
    • __JOIN(alias alias)__ now inserts the SQL to join the two tables.
    • might_have now allows creating the remote object through a simple set of the accessor. [David Jack Olrik]
    • Iterators can now be reset() [Tatsuhiko Miyagawa]
  • Documentation
    • count_all, maximum_value_of and minimum_value_of are now documented (along with how to implement similar methods)
  • Bug Fixes
    • Allow retrieve() to take unnormalised columns, as with search [Connie]
    • Handle stringification before Primary Key(s) are filled
    • search() can take an overridden accessor name as a key
    • MultiColumn primary keys working better with ColumnGrouper [Perrin Hawkins, Paul Makepeace, and Charles Bailey]
  • Deprecations
    • _single_value_select and _single_row_select deprecated in favour of new select_val and select_row methods in Ima::DBI
  • Other
    • Class::Accessor can no longer be used directly to add other attributes. TEMP columns should be used for this.
    • Ensure all croaks internally go through _croak() [Richard Piacentini]
    • deleted objects now blessed into Class::DBI::Object::Has::Been::Deleted
    • Lots of doc patches [Jesse Sheidlower, Paul Makepeace]
    • All internal attribute accesses now go through helper methods, as first step to changing how all this works.
    • set_sql now passes all arguments up to Ima::DBI (so you can turn off caching if required) [gfalck]
    • We now warn about column names clashing with any inherited methods, not just ones defined in Class::DBI itself [Dan Thill]
    • Silence some test warnings reported by Paul Makepeace

Modules

Simple Database Abstraction
A column in a table
Columns and Column Groups
Iterate over Class::DBI search results
Manage SQL for Class::DBI

Provides

in lib/Class/DBI/Query.pm
in lib/Class/DBI.pm