Hi Bernerd, I think I should be able to fix this. I'm not sure if there's a ticket for this, but if someone wants to assign it to me I'd be happy to look into it. If not, would someone mind creating a ticket and assigning it to me?
Dan (dkubb) On Nov 28, 10:25 pm, Bernerd Schaefer <[EMAIL PROTECTED]> wrote: > We're aware of this bug. I'm not myself sure of the best way to fox > it, though. > > In the meantime, of you touch resource.attributes before making your > changes, everything should work as expected. > Bernerd Schaefer > > Sent from my iPhone > > On Nov 28, 2008, at 10:27 PM, "Gary Yngve" <[EMAIL PROTECTED]> wrote: > > > > > dm-core.0.9.7 > > All the properties of a resource are loaded but one that's lazy. > > You change in memory one of the property's loaded values, but that > > change is reverted when you access the final lazy-loaded property. > > > Here is a unit test to repro the bug: > > > it "should not overwrite modified, already loaded, > > columns" do > > repository(ADAPTER) do > > nancy = Zebra.first > > k = nancy.age > > nancy.age = k+1 > > nancy.notes # notes is type text, so lazy-loaded > > nancy.age.should == k+1 > > end > > end > > > 'DataMapper::Collection (loaded) with lazy loading should not > > overwrite modified, already loaded, columns' FAILED > > expected: 12, > > got: 11 (using ==) > > > The source of the bug is that the query to load nancy.notes looks > > good (fields is just [id, notes]), but when scoped_query gets called > > from all(:reload=>true), a new query with the fields => default > > properties (all of them) is merged onto the nice query, so all > > fields are reloaded. > > > I don't think this is an easy fix (especially for a DM neophyte as > > myself) because of the intricacies of eager/lazy loading, but I > > think it's extremely dangerous as-is because the behavior is so > > unexpected. > > > -Gary --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "DataMapper" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/datamapper?hl=en -~----------~----~----~----~------~----~------~--~---
