Re: [Tracker] Support in Tracker for ultra-new Evolution installs that use SQLite for the summary format



On Thu, 2008-12-11 at 17:34 +0100, Philip Van Hoof wrote:
This patch makes ultra-new Evolution installs work again with Tracker.

There's one problem and that is that the query will only find E-mails in
the INBOX folder. You can easily find the Query and figure out what the
problem is:

The design that Carlos made assumes that for each folder there's a
"summary" file. In the new Evolution cache format there's just one
"folders.db" for each account.

I could do a generated UNION select after first doing "select * from
folders" on folders.db and then generating a query that includes all
folders. I just have not done this for now and instead I'm just using
INBOX and I'm neglecting the other folders.

This is NOT the same as the proposal that I am doing at (a). This is
instead a ad-hoc solution for the new situation (Evolution using SQLite
for the summaries). I find this solution rather nasty, to be honest.

(a) http://live.gnome.org/Evolution/Metadata

For Carlos: I have also fixed a serious problem in evolution-pop.c,
which is by the way unaffected by Evolution's changes (and works, if you
just apply the patch that I included in this larger patch). The POP
support's get_message_metadata was not returning metadata. 

Ugh, right. Tracker now compiles with a variety of compiler flags, so
this and other errors have been spotted and fixed in trunk


This was crashing my tracker-indexer (as seemingly my compiler was
putting "return 0x2" where the return was omitted, and the memory I have
at 0x2 didn't dereference TrackerModuleMetadata's members very well).

Please review and/or rework the patch.


I think I agree with Ivan here, it could be better done as a new
TrackerModuleFile implementation, the code to deal with DBs and
summaries look quite unrelated (perhaps some functions should be moved
to evolution-common.[ch]), and it would help maintenance.

In src/tracker-indexer/modules/evolution.c you can see the code that
returns the appropriate TrackerModuleFile for the currently scanned mail
store, so you could hook there the implementation for newer evolution
versions.

Regards,
  Carlos




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]