[Kde-pim] Review Request 119418: LIST: Non-Recursive listing
Dan Vrátil
dvratil at redhat.com
Thu Jul 24 16:45:48 BST 2014
> On July 24, 2014, 5:38 p.m., Dan Vrátil wrote:
> > server/src/handler/list.cpp, line 213
> > <https://git.reviewboard.kde.org/r/119418/diff/1/?file=292095#file292095line213>
> >
> > On deeply-nested structures, this might be a performance issue. It will almost degradate the code to the original recursive listing.
> >
> > The entire parent chain should already be held in the collections list you got from database, so maybe just quickly trying to find it in the list would be faster?
Hmm, maybe if you move the code that builds the "childMap" QHash in the mimetype filter here, then you would have a fast lookup without querying the database?
- Dan
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/119418/#review63078
-----------------------------------------------------------
On July 23, 2014, 2:01 p.m., Christian Mollekopf wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/119418/
> -----------------------------------------------------------
>
> (Updated July 23, 2014, 2:01 p.m.)
>
>
> Review request for Akonadi.
>
>
> Repository: akonadi
>
>
> Description
> -------
>
> CollectonReferenceTest: Fixed the tests after fixing the reference manager
>
> This test couldn't work because the referenced state is reset after
> each scenario. I adapated the test now accordingly.
>
> LIST: Non-recursive listing
>
> Instead of recursively query for children,
> we query for a list of all collections we're interested in,
> and then assemble a tree.
>
> This potentially results in a small overhead with few collections,
> but should scale much better when we have many collections while most
> are getting filtered by the initial query (i.e. disabled collections).
>
> Additionally this patch ensures enabled collections that are nested in
> a disabled collection are correctly found.
>
> Share DbInitializer for other tests and make use in listhandlertest.
>
> use dbinitializer
>
> remove the collections manually since sqlite doesn't deal with constraints.
>
>
> Diffs
> -----
>
> server/tests/unittest/listhandlertest.cpp b25b6a85538cec786c09a2f2cc629b2be5c82fec
> server/src/handler/list.h 56401b3164e5035518d63ed39e5a048481808560
> server/src/handler/list.cpp b891d10d2ceb63482a4453695dc38ee625b8c768
> server/tests/unittest/CMakeLists.txt b9744d93a3b0cb9e895141c10ddaf2703f12acf0
> server/tests/unittest/collectionreferencetest.cpp 808227f9771a33dc1c77d960160770ca919ea2fd
> server/tests/unittest/dbinitializer.h PRE-CREATION
> server/tests/unittest/dbinitializer.cpp PRE-CREATION
>
> Diff: https://git.reviewboard.kde.org/r/119418/diff/
>
>
> Testing
> -------
>
>
> Thanks,
>
> Christian Mollekopf
>
>
_______________________________________________
KDE PIM mailing list kde-pim at kde.org
https://mail.kde.org/mailman/listinfo/kde-pim
KDE PIM home page at http://pim.kde.org/
More information about the kde-pim
mailing list