Age | Commit message (Collapse) | Author | Files | Lines |
|
- Updating package for p5 module Rose::DB::Object from 0.770 to 0.781
- Setting license to gnu-gpl-v2
- Adjusting dependencies
Upstream changes:
0.781 (04.19.2009) - John Siracusa <siracusa@gmail.com>
* Added an explicit SQL_BLOB bind_param() argument for blob columns
in SQLite. (Reported by clausi)
* Added manager_iterator_method and support for manager_count_method
and manager_delete_method to relevant Relationship classes.
(Patch by Peter Karman)
* Updated test suite to consider DBD::SQLite 1.19+ non-broken.
0.780 (03.04.2009) - John Siracusa <siracusa@gmail.com>
* Fixed a bug that caused the delete_relationships() Metadata method
to fail in some circumstances. (Reported by vti)
* Fixed a few accessor/mutator mismatches in relationship methods.
(Reported by Bharanee)
0.779 (02.26.2009) - John Siracusa <siracusa@gmail.com>
* Added missing documentation on one-to-many and many-to-many
relationship "iterator" and "find" method type names.
* Corrected an error message in Rose::DB::Object::MakeMethods::Generic
(RT 43667)
0.778 (02.06.2009) - John Siracusa <siracusa@gmail.com>
* Added PostgreSQL's "ltree" query extensions to QueryBuilder.
(Patch by Rick Apichairuk)
* Improved the efficiency of the check-and-merge function used
when related objects are added. (Reported by Bryan Opfer)
0.777 (12.12.2008) - John Siracusa <siracusa@gmail.com>
* Fixed a bug that caused foreign key proxy relationships to
be clobbered if relationships were set after foreign_keys.
(Reported by Peter Karman)
0.776 (12.09.2008) - John Siracusa <siracusa@gmail.com>
* Fixed a bug that was preventing the use of new comparison
operators with QueryBuilder. (Reported by Derek Wueppelmann)
* Added a strict_ops parameter and class method to the Manager
to allow the policy to b changed per-call or per-class.
* Auto-initialization under Oracle should no longer be confused
by tables with the same names in different schemas. (Patch by
Benjamin Hitz)
* Removed the on-again, off-again restriction on aliasing primary
key columns. I think it's off for good this time.
* Refined column alias policy to keep from appearing to override
more granular column method name customization.
* Overhauled related object mutator methods to better match the
documentation and reduce unnecessary queries.
* Fixed a bug that caused the init_with_tree() helper method to
overwrite columns involved in relationship mapping in some
circumstances. (Reported by Todd Lyons)
0.775 (11.02.2008) - John Siracusa <siracusa@gmail.com>
* The insert_or_update(), load_or_insert(), and load_or_save() helper
methods no longer throw an exception when called on an object with
no uniquely identifying column(s). (Suggested by Richard Jones)
* Added detection of minimum JSON version (2.00) to test suite and
the Helpers module.
0.774 (10.25.2008) - John Siracusa <siracusa@gmail.com>
* Setting objects related through a one-to-many relationship
now does more work to ensure success. (Reported by vti and
David Bourget)
* Fixed an ON DUPLICATE KEY UPDATE test to work around a MySQL
"strict mode" quirk (or, IMO, "bug") which causes it to complain
about a situation that is only a concern if it decided to do an
INSERT rather than an UPDATE. (Reported by Richard Jones)
* Fixed a regression in t/spot-check-10.t: adding objects to
one-to-many-related lists failed in some circumstances.
* Updated auto-initialization examples in the synopsis.
0.773 (10.02.2008) - John Siracusa <siracusa@gmail.com>
* Added support for multiple add_on_save calls prior to save(),
which is how everyone expected it to behave anyway, and how the
documentation always seemed to imply that it did work. Well,
now it does.
* Pre-saved objects now get their foreign key columns hooked up
correctly when passed as arguments to add_on_save methods.
(Reported by George Hartzell)
* ...-to-many related object lists will now be re-fetched on
demand after an add_on_save and a subsequent save().
(Reported by George Hartzell)
0.7722 (09.29.2008) - John Siracusa <siracusa@gmail.com>
* Fixed compatibility with older versions of ExtUtils::MakeMaker.
0.7721 (09.29.2008) - John Siracusa <siracusa@gmail.com>
* Updated distribution metadata for ExtUtils::MakeMaker 6.44.
* Added a column type mapping for MySQL's MEDIUMINT type.
(Reported by Andreas Dewes)
0.772 (09.26.2008) - John Siracusa <siracusa@gmail.com>
* Altered Rose::DB::Object::Cached to override insert() and
update methods. (Suggested by Kevin McGrath)
* The update() method now marks updated objects as being in the
database (see is_in_db() in Rose::DB::Object::Util) (Suggested
by Kevin McGrath)
* The insert_or_update() and insert_or_update_on_duplicate_key()
helper methods now call save() instead of insert() or update()
(passing the appropriate flags to cause an insert or update) in
order also save child objects. (Suggested by Kevin McGrath)
* The set_column_value_modified() function in Rose::DB::Object::Util
now also clears any "db-ready" column value the object may be
holding for that column.
* Added a dirty_columns() helper method (Suggested by jdv79)
0.7713 (09.16.2008) - John Siracusa <siracusa@gmail.com>
* More test skipping fixes.
0.7712 (09.15.2008) - John Siracusa <siracusa@gmail.com>
* Improved detection of broken DBD::SQLite versions.
0.7711 (09.15.2008) - John Siracusa <siracusa@gmail.com>
* Fixed typos in POD.
* Improved test skipping conditions.
* Clarified JSON module version requirements.
0.771 (09.12.2008) - John Siracusa <siracusa@gmail.com>
* Traversal and recursive serialization helper method added.
* Non-persistent columns feature added.
* Made "where" an alias for the Manager's "query" parameter.
(Requested by Ask Bj~A,rn Hansen)
* Documented restrictions on the Manager's "select" parameter.
* Fixed bug that prevented CURRENT_TIMESTAMP from being properly
inlined in queries sent to SQLite. (RT 37224)
* Fixed a memory leak. (Reported by Christopher Laco)
* The "cluck" error mode now correctly calls cluck() rather than
croak(). (Reported by Kevin McGrath)
* Added support for Oracle date/time column keywords.
* Cascaded delete now properly cascades to one-to-one related objects.
(Reported by kittens)
|
|
to trigger/signal a rebuild for the transition 5.8.8 -> 5.10.0.
The list of packages is computed by finding all packages which end
up having either of PERL5_USE_PACKLIST, BUILDLINK_API_DEPENDS.perl,
or PERL5_PACKLIST defined in their make setup (tested via
"make show-vars VARNAMES=...").
|
|
0.770 (05.28.2008) - John Siracusa <siracusa@gmail.com>
* Added "iterator" method type, similar to "find", to OneToMany
and ManyToMany. (Patch by Peter Karman - peknet@gmail.com)
* Updated the Loader documentation to describe an important
consideration when regenerating modules with make_modules().
* Improved error propagation in relationship methods. (Suggested
by Wiggins d'Anconia)
* Skip the interactive part of the test suite when the
AUTOMATED_TESTING environment variable is set.
* Test suite now accounts for versions of DBD::mysql that predate
the mysql_is_auto_increment column attribute.
0.769 (04.01.2008) - John Siracusa <siracusa@gmail.com>
* Improved the default singular/plural conversion rules in the
Convention Manager. (Suggested by David Brownlee)
* Added new join type override syntax for the Manager's with_objects
and require_objects parameters.
* Added column method naming conventions to the Convention Manager.
* Added Manager naming conventions to the Convention Manager and
exposed more Manager-related defaults in the Metadata and Manager
class. (Patch by Bradley C Bailey, modified by John Siracusa)
* Column method names are now allowed at the end of compound Manager
query parameters (e.g., "a.b.method")
* Clarified column/method query parameter documentation.
* Postgres tests are not skipped when DBD::Pg version 2.1.x or 2.2.0
is installed. (Bus error for me in t/deep-joins.t)
|
|
0.768 (02.25.2008) - John Siracusa <siracusa@gmail.com>
* Changed mailing list and wiki URLs.
* Fixed the "warn" overflow mode for character columns to carp
instead of croaking. (Reported by John Ingram)
* Refined workaround for http://rt.cpan.org//Ticket/Display.html?id=33193
to apply only to versions that exhibited this bug.
* Added the forget_related() helper method to the "all" export tag.
0.767 (02.15.2008) - John Siracusa <siracusa@gmail.com>
* Added the forget_related() helper method.
* Enhanced and documented the long-dormant "hints" Manager parameter.
* Added a work-around for a DBD::Pg 2.0.0 array/bind_col() bug:
http://rt.cpan.org//Ticket/Display.html?id=33193
* Improved the column method handling for array-reference values
that may be fetched from array columns by DBD::Pg 2.0.0.
* Fixed a bug in the test suite that caused some Postgres tests
to fail if the "chkpass" column type was not installed.
(Reported by Randal Schwartz)
0.7665 (02.08.2008) - John Siracusa <siracusa@gmail.com>
* Fixed a bug that prevented the convention manager's auto_table_name()
method from honoring the tables_are_singular() attribute value.
(Reported by Ben Tilly)
* The new, more correct behavior of Rose::DB 0.739's array column
value parsing and formatting revealed a bug in QueryBuilder's
handling of "(any|all)_in_array" conditions involving empty list
arguments. This is now fixed.
0.7664 (02.06.2008) - John Siracusa <siracusa@gmail.com>
* Fixed a bug that caused boolean columns to be incorrectly marked as
modified. (Reported by Grzegorz Nosek)
* Added sql_qualify_column_names_on_load() Metadata method to help
support Postgres functions that can masquerade as columns if they're
prefixed by the table name. (Suggested by Grzegorz Nosek)
0.7663 (02.04.2008) - John Siracusa <siracusa@gmail.com>
* Fixed a bug that caused delete_on_save method creation for foreign
keys to fail in some circumstances. (Reported by Justin Ellison)
* Fixed a bug that prevented Perl code from being emitted for
non-set columns with check_in attributes. (Reported by Sam Tregar)
* Pushed cache control methods down into Rose::DB::Object::Cached
in preparation for more caching subclasses.
* The clear_object_cache() method now correctly clears load timestamps
as well. (Patch by Justin Ellison)
0.7662 (01.30.2008) - John Siracusa <siracusa@gmail.com>
* Fixed copy-and-paste-o in Rose::DB::Object::Cached code.
0.7661 (01.29.2008) - John Siracusa <siracusa@gmail.com>
* Fixed method clash detection in Rose::DB::Object::Manager.
* Streamlined caching implementation in Rose::DB::Object::Cached.
0.766 (12.13.2007) - John Siracusa <siracusa@gmail.com>
* Added the unique_key_by_name() metadata method.
* Added the ability to do unrestricted joins in some circumstances.
* Added the remember_all() class method to Rose::DB::Object::Cached.
* Added the undef_overrides_default column attribute.
* The key_column() method in the ForeignKey class now works correctly.
(Patch by Christopher Masto)
* Further synced datetime and timestamp method-maker code.
* Added a test suite exclusion for DBD::SQLite 1.14, which still suffers
from this bug: http://rt.cpan.org/Public/Bug/Display.html?id=21472
* Improved detection of fatal errors during class setup.
* Added a "gotchas" section to the Loader documentation.
* Fixed propagation of db objects in update and delete Manager methods.
* Fixed a bug that caused some cached SQL to persist incorrectly after
inheritance. (Patch by Daniel Koch)
* Fiddled with not_found() detection. (Changes suggested by Philip Dye)
* Made one-to-one relationships (attempt to) work even when uniqueness is
not apparent in the metadata.
* The Loader no longer chokes on SQLite columns that use the
current_timestamp keyword. (Reported by George Hartzell)
* Setting undef integer attributes to zero is now correctly detected
as a modification.
0.765 (07.21.2007) - John Siracusa <siracusa@gmail.com>
* Added a value_type attribute to SET columns.
* Added a normalize_get_objects_args() utility method to make
custom Manager methods less cumbersome to implement.
* Setting a BigInt column to undef no longer sets it to zero.
(Reported by Jeffrey Horn)
* Corrected error propagation in many-to-many "find" methods when bad
arguments are passed. (Reported by Michael Reece)
* Added "use strict" the output of perl_manager_class().
* Restored default use of table aliases in Manager queries. The new
table_aliases parameter can be used to alter the behavior.
* Added support for literal sort_by parameters using scalar references.
* Added is/is_not comparison operators to QueryBuilder. (Suggested by
Jonathan Vanasco)
* Scalar references appearing in the select => ... list in Manager calls
are now passed through unmodified.
* Existing map records are now correctly checked for when adding items
through a many-to-many relationship. (Reported by Drew Taylor)
* Using a nonexistent column name in a primary or unique key is now a
fatal error. (Reported by Philip Dye)
* Multi-columns "select count(distinct ...)" queries now fall back to
count(*) on a subselect in databases that do not support calling count
on multi-argument distinct clauses. (Reported by Derek Watson)
* The auto-init system will now skip Postgres functional indexes when
extracting unique keys. (Reported by Jonathan Vanasco)
* Fixed a bug that caused inner joins to be used inappropriately in
certain cases with many-to-many relationships or when nested joins
are disabled.
* Fixed a bug that caused the auto-init system to fold multiple foreign
keys that reference the same remote key into a single multi-column
foreign key. (Reported by Marlon Bailey)
* Fixed a Manager bug that caused count queries to use incorrect
table aliases when passed empty with_objects or require_objects
array reference values. (Reported by Denis Moskowitz)
* Fixed a bug that prevented relationship and foreign key names from
being resolved when used in nested query parameters.
* Relationship count methods no longer die when the count is zero.
(Reported by Derek Watson)
* Setting enum fields to undef now works correctly. (Reported by Ovid)
* Columns with custom DBI bind attributes are now updated correctly.
(Reported by Derek Watson)
* Epoch columns with zero (0) default values now work correctly.
(Reported by Peter Karman)
* Setting boolean columns to null (undef) now works correctly.
(Reported by Derek Watson)
* Fixed a bug that caused literal query parameters with bind arguments
to become corrupted after their first use.
* Changed the way classes are registered in order to fix a Loader bug
that caused cross-database foreign keys to be erroneously created
when tables with the same names exists in two different databases.
(Reported by Adrian Howard)
* Deleting one-to-one related objects on save now works correctly.
(Reported by Ovid)
* The "find" method for many-to-many relationships now propagates custom
Manager arguments correctly. (Patch by Michael Reece)
* The use_key parameter to load() now dies if an invalid key is passed.
(Reported by Jonathan Vanasco)
|
|
can handle packages having no PLIST files.
|
|
Rose::DB::Object is a base class for objects that encapsulate a
single row in a database table. It provides the following functions:
* Create a row in the database by saving a newly constructed object.
* Initialize an object by loading a row from the database.
* Update a row by saving a modified object back to the database.
* Delete a row from the database.
* Fetch an object referred to by a foreign key in the current object.
(i.e., "one to one" and "many to one" relationships.)
* Fetch multiple objects that refer to the current object, either directly
through foreign keys or indirectly through a mapping table. (i.e., "one
to many" and "many to many" relationships.)
* Load an object along with "foreign objects" that are related through any
of the supported relationship types.
|