++ed by:

16 PAUSE users
9 non-PAUSE users.

Juerd Waalboer

Changes for version 1.20

  • Almost a complete rewrite :)
  • $db->emulate_subqueries is now deprecated. Use a better database engine instead.
  • $db->omniholder is now deprecated. The omniholder will be constant.
  • $db->{success} is now deprecated. Use the return value of $db->query instead.
  • $db->{reason} is now deprecated. Use $db->error instead.
  • !! - $db->{dbi} has been renamed. Use $db->dbh instead (not $db->{dbh}).
    • DBIx::Simple->error can now be used as a class method.
    • New: $db->last_insert_id.
    • New: $db->keep_statements and statement caching.
    • New: $db->dbh.
  • !! - New: $db->lc_columns, enabled by default. Affects $result->columns, $result->hash, $result->hashes, and $result->map_hashes.
    • New: $result->columns.
    • New: $result->bind, $result->fetch, $result->into.
    • New: $result->func. (Suggested by Sean McMurray <smcmurray@cpan.org>)
    • New: $result->attr. (Suggested by Sean McMurray <smcmurray@cpan.org>)
    • $result->array now returns a copy instead of the same arrayref over and over. If you need maximum efficiency, use $result->fetch instead.
    • Clarified in the documentation that $result->array always returns the same reference.
  • !! - Made $result->hash always use the same reference.
    • Removed dependency on Attribute::Property to fix bugs with $db->emulate_subqueries and $db->omniholder in Perl 5.8.x.
  • !! - As a result, archaic property assignment style no longer works. Instead of "$foo->bar($new_value)", use "$foo->bar = $new_value".
    • Improved error reporting.
    • As a result, DBIx::Simple now depends on Data::Swap.
    • Moved examples to a separate document: DBIx::Simple::Examples.
    • More conditions in DESTROY methods, to handle random destruction order during global destruction better.
    • Rebuilt distribution with h2xs to get lib/ and t/.
Show More



  • DBIx::Simple - Easy-to-use OO interface to DBI, capable of emulating subqueries