> If both are sqlite, then it's one query - > > select fid from tagRelation, activityRelation where aid = 'activityId' and > tid = 'TagIdentifier';
Now your talkin' This looks nice - It needs to be abstracted into a proper api that can understand that those are separate dbs. (this removes my problem regarding one-database - since the underlying engine can consider multiple databases to be a single one) - Raises a potential problem if it turns out that sqlite is not sufficient for our use-cases (which I hope will not happen) > This will also work if tags are in xapian and activities in something else > since xapian provides ways to filter the query when it is running - > > http://xapian.org/docs/postingsource.html I've seen that xapian can be used to index stuff in other databases. Any use for that? Or is it better to keep them separate. > I'm glad we're on the same page. If you take a look at > baloo/src/core/query.h there is an addRelation function which would let you > do stuff like - At the moment, then, the main problem that remains is that queries are not able to return anything except a list of results (such as result properties). Eliminating round-trips and all. One of Marco's greatest annoyances with old kactivities API was exactly that - a method that returns a list of activities, and methods to get various properties for an activity. The service is now able to dump everything you want in one chunk. And, almost forgot, async api. It might be nice to talk about it at Tokamak, though it might also be a bit too late? Cheers