Port Item to AttributeStorage, so ItemModifyJob doesn't send unmodified attributes.

Authored by dfaure on Mar 9 2019, 9:17 AM.



This required moving Attributes into ItemChangeLog, which now hosts
the AttributeStorage instance for the item. Since the separation of
ItemChangeLog was made to reduce memory consumption, I hope most items
don't have any attribute, otherwise this is a bad choice.

Test Plan

unit tests pass

Diff Detail

R165 Akonadi
No Linters Available
No Unit Test Coverage
Build Status
Buildable 9369
Build 9387: arc lint + arc unit
dfaure created this revision.Mar 9 2019, 9:17 AM
Restricted Application added a project: KDE PIM. · View Herald TranscriptMar 9 2019, 9:17 AM
dfaure requested review of this revision.Mar 9 2019, 9:17 AM
dvratil accepted this revision.Mar 11 2019, 5:54 PM

Having the AttributeStorage owned by the changelog is not very nice, but I don't have a better solution right now, so let's go with it.


This revision is now accepted and ready to land.Mar 11 2019, 5:54 PM

And yeah, attributes on Items are rather rare, so this approach should save a fair amount of memory.

dfaure closed this revision.Mar 11 2019, 7:47 PM