Do you have a question? Post it now! No Registration Necessary. Now with pictures!
- John Siracusa
June 7, 2006, 7:14 pm
rate this thread
This is a big release. New versions of Rose::DB and Rose::DateTime are
required: Rose::DB because the database introspection features are moving
there (slowly), and Rose::DateTime to fix some bugs and resolve some
ambiguities. The change lists for all three are below.
The biggest Rose::DB::Object change is the new setup() method for setting up
class metadata. The "old way" still works, but setup() is now the
recommended approach. The perl_class_definition() method now emits code
that uses setup() as well. (The old code style is still available with a
use_setup => 0 parameter.) There are lots of other small features and a ton
of bug fixes. I encourage everyone to upgrade.
I was going to call this release 0.80, but I'm sure there are a lot of
little things that need to be worked out after such a big change (e.g.,
making sure I have all the docs properly updated for the "new way" of doing
things) so I'm going to work my way up to 0.80 naturally.
Many thanks to all that helped with this release by reporting bugs and
suggesting features. Give 0.73 a spin and let me know how it works out for
* The new setup() method is now the officially recommended way to set up
* 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 save()s.
(Reported by Cees Hek)
* Added an option to use InnoDB with MySQL in the benchmark suite.
* Added primary_key_column_names() and has_primary_key() methods.
* Added Storable hooks.
* Driver classes no longer inherit from Rose::DB.
* Improved Oracle DSN generation and quoting. (Suggested by
* Improved parsing of default column values in Postgres databases.
* parse_date() now accepts epoch values in the full range, not
just 9 or 10 digit numbers.
* Added parse_epoch() function to resolve the now-ambiguous parse_date()
behavior with respect to epochs and YYYYMMDD values.
Rose-db-object mailing list