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

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

Details

Summary

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

Repository
R165 Akonadi
Branch
port_item_to_attribute_storage
Lint
No Linters Available
Unit
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.

Thanks!

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