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

Changes for version 0.764

  • Added a "find" method type to many-to-many relationships.
  • Added a "count" method type to ...-to-many relationships.
  • Added support for nested joins.
  • The setup() method now supports a "helpers" shortcut for importing methods from Rose::DB::Object::Helpers.
  • Added the dubious require_primary_key parameter and object attribute to the Loader. (Requested by Teodor Zlatanov)
  • Added two syntaxes for literal SQL to QueryBuilder.
  • Added the with_column_triggers attribute to foreign keys and singular relationships in order to keep columns and related objects in sync.
  • Fixed a bug that caused some optional related objects to be improperly transformed into required objects. (Reported by Ethan Rowe)
  • Improved detection of errors when auto-loading related classes.
  • Duplicate auto-created map record method names are now detected and reported as a fatal error.
  • Added and documented a return value for add_columns().
  • Added module_preamble and module_postamble features to the Loader's make_modules() method. (Patch by David Christensen)
  • Made changes_only, cascade, and prepare_cached arguments to save() also apply to *_on_save collections.
  • Added test and prerequisite version for a Rose::DB bug that prevented certain reserved words from being detected as primary key columns in Postgres. (Reported by Fred Cox)
  • Baseline Oracle support added to the Loader. (Patch by Teodor Zlatanov)
  • The clone() and clone_and_reset() methods now handle missing or differently named accessor/mutator methods.
  • QueryBuilder now supports eq/ne undef for is/is not null comparisons.
  • Foreign key columns that are also primary key columns are no longer set to undef when a foreign object is set to undef. (Reported by Ovid)
  • Fixed a bug that caused values not to be checked against the list of valid values in SET columns. (Reported by Adrian Howard)
  • Fixed a bug that caused column (get/)set methods not to return the correct value when an on_set trigger was applied to the column. (Reported by Cory Bennett)
  • Fixed a bug that caused enum columns to be incorrectly marked as modified in some circumstances. (Reported by Cory Bennett)
  • Fixed a bug that caused inflate/deflate triggers to fail under some circumstances. (Patch by Cory Bennett)

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 based on database table definitions.
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 month column metadata.
Datetime year to second column metadata.
Double-precision column metadata.
Enumerated column metadata.
Seconds since the epoch column metadata.
Fractional seconds since the epoch column metadata.
Floating-point column metadata.
PostgreSQL BYTEA column metadata.
PostgreSQL CHKPASS column metadata.
Variable-length character column metadata.
Base class for table relationship metadata objects.
Many 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/Exception.pm
in lib/Rose/DB/Object/Exception.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/Oracle.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