Christopher H. Laco wrote:
> Adam Herzog wrote:
>> I think I stumbled across a regression while testing RC3. I'm not sure
>> how best to incorporate a test into the suite, but I've put together a
>> minimal case that demonstrates the problem. It works correctly (or at
>> least, as I expect it to) under 0.07006, but not the latest RC.
>>
>> The test scenario contains authors and books, where a book belongs_to an
>> author, and an author has_many books. The problem seems to occur where
>> the foreign key in books has an accessor set, and the relationship has
>> the same name as the actual column name. Somewhere along the line, the
>> column accessor is getting confused with the relationship, I guess.
>>
>> I've included the test files inline below, as well as attached them to
>> the email.
>>
>> -A
> 
> Changeset 3358: "%colinfo accessors and inflate_column now work together"
> 
> I did this one myself. Basically, inflated columns weren't getting set
> to their accessors [instead of colname].
> 
> Since relationships are really inflators, I'd say this is the source of
> the change. I could be wrong.
> 
> 
> Normally, ->author() would return the author field id value. But since
> you've asked it to return an author object via belongs_tom ->author()
> would return the author object.
> 
> Then, you told DBIC to change the accessor from author() to author_id().
> So, author_id() returns the same object that ->author() would have
> because of the belongs_to.
> 
> Let's forget about the accessor option for a moment. Once belongs_to is
> in place, you would always get an author object, never the field value
> itself.
> 
> Seems like the correct behavior to me.
> 
> -=Chris

And this is a real bug fix, not really a regression. accessors +
inflated columns (or relationships) has never worked correctly together.

https://rt.cpan.org/Ticket/Display.html?id=27180

-=Chris

Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
List: http://lists.rawmode.org/cgi-bin/mailman/listinfo/dbix-class
Wiki: http://dbix-class.shadowcatsystems.co.uk/
IRC: irc.perl.org#dbix-class
SVN: http://dev.catalyst.perl.org/repos/bast/trunk/DBIx-Class/
Searchable Archive: http://www.mail-archive.com/[email protected]/

Reply via email to