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

Changes for version 0.75

  • Added a cascade option to save().
  • Added auto-detection one one-to-one relationships to the Loader.
  • The object_class parameter to Manager methods now defaults to the return value of the object_class() class method.
  • The soft() and referential_integrity() methods of the ManyToOne and OneToOne relationship classes have been renamed to optional() and required(), respectively. The old method names still work, but may be removed at some later date. Also, the default values are now determined by a new set of rules, rather than a constant.
  • Passing invalid query parameters to Manager methods will now cause a fatal error.
  • Scalar references now work correctly when used in IN(...) queries built by QueryBuilder. (Patch by Perrin Harkins)
  • Fixed a bug that caused get_set_on_save methods to fail for certain kinds of ...-to-one relationships.
  • Ignore empty "and" and "or" query parameters in QueryBuilder. (Suggested by Jonathan Vanasco)
  • Fixed a bug that caused update() to fail for tables where all columns are part of the primary key. (Reported by Danial Pearce)
  • Minor tweaks to the subselect-based limit/offset code.

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 BYTEA 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