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

Changes for version 0.73

  • The new setup() method is now the officially recommended way to set up class metadata.
  • Updated the documentation and the generated Perl code to use the new setup() method.
  • Related classes are now loaded automatically by default. Added the auto_load_related_classes metadata attribute to control this behavior.
  • Added the pk_columns() alias for the primary_key_columns() method.
  • Added insert_or_update() and insert_or_update_on_duplicate_key() helper methods. (Suggested by Guillermo Roditi)
  • The Loader now automatically skips tables without primary keys.
  • Moved some database introspection code to a new version of Rose::DB, which this version of Rose::DB::Object now requires.
  • Non-null character columns are now detected correctly in Informix.
  • Fixed many bugs related to explicit and auto-detected column defaults.
  • Corrected the return value of Rose::DB::Object::Cached's load() method to match that of the standard load(). (Reported by Randal Schwartz)
  • Fixed a bug that caused chkpass columns to be erased after some save()s. (Reported by Cees Hek)
  • Added an option to use InnoDB with MySQL in the benchmark suite.

Documentation

A guided tour of the basics of Rose::DB::Object

Modules

Extensible, high performance RDBMS-OO mapper.
Memory cached object representation of a single row in a database table.
Provide missing metadata by convention.
A singleton convention manager that does nothing.
A mix-in class containing convenience methods for Rose::DB::Object.
Iterate over a series of Rose::DB::Objects.
Automatically create Rose::DB::Object subclasses for all the tables in a database.
Create object methods for arbitrary-precision numeric attributes for Rose::DB::Object-derived objects.
Create date-related methods for Rose::DB::Object-derived objects.
Create generic object methods for Rose::DB::Object-derived objects.
Create PostgreSQL-specific object methods for Rose::DB::Object-derived objects.
Create object methods related to Rose::DB::Object::Std-derived objects.
Create time-related methods for Rose::DB::Object-derived objects.
Fetch multiple Rose::DB::Object-derived objects from the database using complex queries.
Database object metadata.
Base class for database column metadata objects.
Big integer column metadata.
Big serial column metadata.
Binary large object column metadata.
Datetime year to fraction column metadata.
Datetime year to fraction(1) column metadata.
Datetime year to fraction(2) column metadata.
Datetime year to fraction(3) column metadata.
Datetime year to fraction(4) column metadata.
Datetime year to fraction(5) column metadata.
Datetime year to minute column metadata.
Datetime year to second column metadata.
Enumerated column metadata.
Seconds since the epoch column metadata.
Fractional seconds since the epoch column metadata.
Floating-point column metadata.
PostgreSQL CHKPASS column metadata.
Variable-length character column metadata.
Base class for table relationship metadata objects.
One to many table relationship metadata object.
Many to one table relationship metadata object.
One to many table relationship metadata object.
One to one table relationship metadata object.
A base class for mix-ins.
Build SQL queries on behalf of Rose::DB::Object::Manager.
Standardized object representation of a single row in a database table.
Memory cached standardized object representation of a single row in a database table.
Standardized database object metadata.
Utility functions for use in Rose::DB::Object subclasses and method makers.

Provides

in lib/Rose/DB/Object/Constants.pm
in lib/Rose/DB/Object/Metadata/Auto.pm
in lib/Rose/DB/Object/Metadata/Auto/Generic.pm
in lib/Rose/DB/Object/Metadata/Auto/Informix.pm
in lib/Rose/DB/Object/Metadata/Auto/MySQL.pm
in lib/Rose/DB/Object/Metadata/Auto/Pg.pm
in lib/Rose/DB/Object/Metadata/Auto/SQLite.pm
in lib/Rose/DB/Object/Metadata/ColumnList.pm
in lib/Rose/DB/Object/Metadata/MethodMaker.pm
in lib/Rose/DB/Object/Metadata/Object.pm
in lib/Rose/DB/Object/Metadata/Util.pm