0.59 (12.19.2005) - John Siracusa <siracusa@mindspring.com>
* Added in_array, any_in_array, and all_in_array query operators
for filtering on Postgres array columns.
* Fixed a bug that caused certain method overrides to fail when
using a custom metadata class with the auto-initialize feature.
(Reported by Svilen Ivanov)
0.58 (12.16.2005) - John Siracusa <siracusa@mindspring.com>
* Added auto-detection of multiple sequence-based primary
key columns and primary keys with one or more non-sequence-
based columns.
* Added support for schema and catalog overrides.
* Added tests for db migration with forced and default schemas,
multiple sequence-based primary key columns, and primary keys
with one or more non-sequence-based columns, migrating to and
from databases with and without sequence support. (Whew!)
* Added a summary of the default conventions to the
Rose::DB::Object::ConventionManager documentation.
0.57 (12.04.2005) - John Siracusa <siracusa@mindspring.com>
* Fixed broken custom convention manager support in the loader.
0.56 (12.03.2005) - John Siracusa <siracusa@mindspring.com>
* Updated required Rose::DB version. The 0.55 release was incorrect.
0.55 (12.03.2005) - John Siracusa <siracusa@mindspring.com>
* Added get_objects_from_sql() and make_manager_method_from_sql()
Manager methods.
* Made the use of prepare_cached() optional everywhere. It's on
by default in Rose::DB::Object, but off by default in Manager.
Class data determines the defaults.
* Added enum column type.
0.54 (11.30.2005) - John Siracusa <siracusa@mindspring.com>
* Added SQLite support.
* Improved auto-detection of primary key sequence names.
* Made primary key sequence names configurable.
* Added the "with_map_records" Manager parameter used to fetch map
records when auto-joining through a "many to many" relationship.
* Fixed a bug in the MySQL foreign key auto-init system.
(Reported by Bernhard Graf)
* Fixed a bug in the column type class customization system that
caused it to fail when combined with auto-initialization.
(Reported by Bernhard Graf)
* DBI 1.40 or later is now required.
0.53 (11.22.2005) - John Siracusa <siracusa@mindspring.com>
* Improved handling of table and column names that use
reserved words.
0.52 (11.21.2005) - John Siracusa <siracusa@mindspring.com>
* Fixed bugs in loader when using a DSN instead of a db.
0.51 (11.20.2005) - John Siracusa <siracusa@mindspring.com>
* Added auto-initialization of relationships.
* Added loader.
0.50 (11.17.2005) - John Siracusa <siracusa@mindspring.com>
* Added optional lazy-loading of column values.
* Long-overdue version number bump.
0.081 (11.15.2005) - John Siracusa <siracusa@mindspring.com>
* Tutorial added.
0.080 (11.14.2005) - John Siracusa <siracusa@mindspring.com>
* Added column triggers for get, set, load, save, inflate, and deflate.
* Added support for new argument types to relationship methods.
* Added a named, configurable map for convention manager classes.
* Added perl_manager_class() and make_manager_class() meta methods.
* Many bug fixes to datetime column methods, cross-database migration,
and the auto-init system.
0.079 (10.25.2005) - John Siracusa <siracusa@mindspring.com>
* Fixed bugs that caused auto-inited many-to-many relationships
to be inadequately fleshed-out under some circumstances.
0.078 (10.24.2005) - John Siracusa <siracusa@mindspring.com>
* Added page and per_page manager parameters for the truly lazy.
* Fixed a bug caused by a conflict between the convention manager
and the legacy foreign key name generator.
0.077 (10.20.2005) - John Siracusa <siracusa@mindspring.com>
* Added convention manager.
* Added "distinct" and "fetch_only" manager parameters.
* Added support for foreign key and relationship names as
column prefixes in manager query parameters and sort_by
arguments.
* Changed manager and query builder to default unprefixed
ambiguous columns to belong to the primary table ("t1").
* Fixed a bug that caused make_methods() to fail for "... to one"
relationships that have no corresponding foreign key.
* Fixed a bug in QueryBuilder that prevented the ability to check
for null columns.
* Added the ability to query columns that are not SELECTed.
0.076 (10.05.2005) - John Siracusa <siracusa@mindspring.com>
* Fixed a bug that caused incorrect counts in get_objects_count()
when using the require_object parameter with "... to many"
relationships.
* Added bulk update and delete methods to Manager.
* Added cascaded delete, plus a plea in the documentation for users
to do this in the database instead.
* Added "many to one" relationship and made it the new default
relationship type for foreign keys.
* Added *_now and *_on_save method types for foreign keys and
"... to one" relationships.
* Made get_set_on_save and delete_on_save the default auto method
types for foreign keys and "... to one" relationships.
* load() now returns the object itself on success, which allows
for the convenient $obj = MyObject->new(id => 123)->load;
* save() now returns the object itself on success, which allows
for the convenient $obj = MyObject->new(id => 123)->save;
0.075 (09.19.2005) - John Siracusa <siracusa@mindspring.com>
* Added support for "many to many" relationships to Manager's
"with_objects" and "require_objects" parameters.
* Corrected a bug that could cause missing sub-objects when
using the Manager's "with_objects" and "require_objects"
parameters.
* Added warning for doing multiple LEFT OUTER JOINs that could
cause a geometric explosion of redundant rows.
* Added the "multi_many_ok" parameter to Manager to suppress
the warning described above.
* Forced inner joins when fetching foreign keys that have
key columns that are all NOT NULL.
* Added a few more sanity checks to class setup which, in turn,
helped me to find and fix a few bugs in the test suite.
0.074 (09.15.2005) - John Siracusa <siracusa@mindspring.com>
* Repurposed the "with_objects" Manager parameter to do explicit
LEFT OUTER JOINs instead of implicit inner joins.
* Added "require_objects" Manager parameter to fill the old role of
the "with_objects" parameter.
* Documented new restrictions associated with the more sensible
"with_objects" and "require_objects" parameters.
* Added *_sql comparison operators to QueryBuilder, allowing inline
SQL. (Requested by Uwe Voelker.)
* Removed restriction on aliasing primary key columns.
* Fixed bug in Manager that caused fetched objects to be inserted
instead of updated on save(). (Reported by Uwe Voelker.)
* Corrected a misspelled method name in Rose::DB::Object::Cached.
(Reported by David Glass)
* Updated benchmark suite to include "one to many" search tests.
0.073 (09.09.2005) - John Siracusa <siracusa@mindspring.com>
* Added deferred method creation for relationships and foreign
keys in order to make "many to many" relationship setup more
developer-friendly.
* Renamed default auto-method type for foreign keys and relationships
from "get" to "get_set", since technically these foreign objects
can be set. They just don't go into the database at that point.
I'll probably use a different term for that process (e.g., "add")
* Some POD and test fixes.
0.0721 (09.08.2005) - John Siracusa <siracusa@mindspring.com>
* Fixed incorrect method names in Numeric column type.
* Added tests to prevent the above error in the future.
0.072 (08.31.2005) - John Siracusa <siracusa@mindspring.com>
* Added "get" and "set" interfaces to all default column method makers.
* More POD fixes.
0.071 (08.30.2005) - John Siracusa <siracusa@mindspring.com>
* POD fixes.
0.07 (08.30.2005) - John Siracusa <siracusa@mindspring.com>
* Added rudimentary "many to many" relationship support.
* Restructured method-making system to support extensible method
types for each kind of thing that makes methods.
* Added "get" and "set" interfaces to the scalar method maker.
0.0692 (08.20.2005) - John Siracusa <siracusa@mindspring.com>
* POD fixes.
0.069 (08.20.2005) - John Siracusa <siracusa@mindspring.com>
* Whoops, fixed manifest to repair a botched 0.068 release.
0.068 (08.19.2005) - John Siracusa <siracusa@mindspring.com>
* Enabled multiple joins with the same table in the manager,
provided that each occurrence of multi-joined table has the
same Rose::DB::Object class fronting it.
* Added support for the "alias" parameter to hash-style column
definitions.
* Added "relationship" objects.
* Fixed a bug that caused nearly everything to fail if a
column_name_to_method_name_mapper was used.
* Moved some class methods out of the object methods section of the
documentation, where they shouldn't have been in the first place.
0.0671 (08.15.2005) - John Siracusa <siracusa@mindspring.com>
* Fixed more MySQL case sensitivity bugs. (Thanks Uwe!)
* Changed objects_by_key query_args parameter to be an array ref
instead of a hash ref to match the manager change from long ago.
* Updated makemethods.t to use MySQL if Postgres is not available.
0.067 (08.14.2005) - John Siracusa <siracusa@mindspring.com>
* Fixed more MySQL bugs related to foreign keys, timestamps,
and boolean support in MySQL 4.0.x.
0.066 (08.12.2005) - John Siracusa <siracusa@mindspring.com>
* Fixed MySQL case-sensitivity bug.
* Added case-sensitivity tests for Postgres and MySQL.
* Added accessor, delete, and search with limit and offset benchmarks.
0.0651 (08.11.2005) - John Siracusa <siracusa@mindspring.com>
* Moved benchmarks into test directory in an attempt to
get search.cpan.org to ignore them.
0.065 (08.11.2005) - John Siracusa <siracusa@mindspring.com>
* Improved the efficiency of manager classes.
* Added benchmark suite.
* More POD fixes.
0.064 (08.09.2005) - John Siracusa <siracusa@mindspring.com>
* Duh, forgot the table name and initialize() call in
perl_class_definition().
0.063 (08.09.2005) - John Siracusa <siracusa@mindspring.com>
* Added foreign key auto-initialization for Informix.
0.062 (08.08.2005) - John Siracusa <siracusa@mindspring.com>
* Changed default error mode to "fatal" for manager class too.
0.061 (08.07.2005) - John Siracusa <siracusa@mindspring.com>
* Added foreign key auto-initialization for MySQL.
0.06 (08.05.2005) - John Siracusa <siracusa@mindspring.com>
* Added auto-initialization (finally).
* Plumped-up unique and primary keys into objects.
* Changed default error mode to "fatal"
* Made substantial additions to the documentation.
0.052 (07.22.2005) - John Siracusa <siracusa@mindspring.com>
* Added make_manager_methods() to Rose::DB::Object::Manager.
* Corrected Rose::DB::Object::Manager POD.
0.052 (07.22.2005) - John Siracusa <siracusa@mindspring.com>
* Added make_manager_methods() to Rose::DB::Object::Manager.
* Corrected Rose::DB::Object::Manager POD.
0.051 (06.22.2005) - John Siracusa <siracusa@mindspring.com>
* Added abstracted offset parameter to object manager.
0.05 (06.16.2005) - John Siracusa <siracusa@mindspring.com>
* Moved object cache management further into the metadata object.
* Enabled auto-generated primary key values for Rose::DB::Object
objects used with the PostgreSQL database.
0.043 (06.16.2005) - John Siracusa <siracusa@mindspring.com>
* Added time-based expiration to Rose::DB::Object::Cached.
* Added catalog attribute to metadata objects.
0.042 (05.04.2005) - John Siracusa <siracusa@mindspring.com>
* Added not_null attribute to column metadata objects.
* Removed use of prepare_cached() because it can't be used
across transactions in Informix. Duh.
0.041 (04.22.2005) - John Siracusa <siracusa@mindspring.com>
* Corrected typo in DatetimeYearToSecond column class.
(Still need to add tests for those column types...)
* Added skip_first parameter to get_object_iterator().
* Added fix to avoid trying to format or truncate undefined
dates in datetime columns.
0.04 (04.01.2005) - John Siracusa <siracusa@mindspring.com>
* Refactored column value parsing. No, really.
0.031 (03.27.2005) - John Siracusa <siracusa@mindspring.com>
* Corrected typos and errors in the documentation.
0.03 (03.27.2005) - John Siracusa <siracusa@mindspring.com>
* Added error_mode methods.
0.023 (03.25.2005) - John Siracusa <siracusa@mindspring.com>
* Added prepare_*_options (undocumented for now).
0.022 (03.18.2005) - John Siracusa <siracusa@mindspring.com>
* Fixed POD error that was throwing off search.cpan.org.
0.021 (03.17.2005) - John Siracusa <siracusa@mindspring.com>
* Added documentation for the "pretty" parameter to build_select()
* Added support for column value inlining in build_select()
0.02 (03.17.2005) - John Siracusa <siracusa@mindspring.com>
* Added support for nested boolean logic in queries.
0.013 (03.11.2005) - John Siracusa <siracusa@mindspring.com>
* Fixed bug in Rose::DB::Object::Std::Metadata that caused the
number of primary key columns to appear to be zero.
0.012 (03.10.2005) - John Siracusa <siracusa@mindspring.com>
* Add tests for aliased unique key fix and primary key aliasing.
Documented constraints on column aliasing. Fixed version
numbers in this file. Deleted version 0.011.
0.011 (03.09.2005) - John Siracusa <siracusa@mindspring.com>
* Well that was quick. Fixed copy and paste error that caused
a failure to load using an aliased unique key column. Deleted
version 0.10.
0.01 (03.09.2005) - John Siracusa <siracusa@mindspring.com>
* Initial release.