[Dbix-class] Bug: update_or_create() and auto-inflate/deflate
Daniel Westermann-Clark
daniel at acceleration.net
Wed May 10 17:20:10 CEST 2006
On 2006-05-10 13:23:44 +0200, Bernhard Graf wrote:
> It seems that one of the dates to compare is a scalar while the
> other is a DateTime object (DateTime overloads comparison operators,
> so compare operation end in DateTime->compare()).
>
> To work correctly, update_or_create() should compare both dates in
> deflated state, right?
The problem is that update_or_create bypasses deflation. For now at
least, it expects you to give it "column data", e.g. a datetime string
which can be used in your inflation code.
This is consistent with calling $row->update with a hashref: both
methods use $row->set_columns. (And as of a few minutes ago on the
-current branch, update_or_create simply calls $row->update.)
My understanding is that the inflation code is planned for revision to
avoid some of this confusion, but there are more pressing issues.
--
Daniel Westermann-Clark
More information about the Dbix-class
mailing list