Thanks Philip and Zheng. I can make things work with limit and offset.

/// Max

On Mar 5, 2010, at 1:20 AM, Philip Van Hoof wrote:

> On Thu, 2010-03-04 at 22:07 -0500, Spivak, Max wrote:
> 
> Hi Max,
> 
>> I have a question about large query results from tracker-store. in my
>> experience with SQL databases and their client api, when a query
>> results are generated, only a subset are initially transferred to the
>> client. The rest are loaded on demand as the client iterates over the
>> results. 
> 
> This usually only is the case when the client requests iterating over
> the result using a so called cursor.
> 
> Usually are those cursors also one-direction only (you can't go back).
> 
> Because SQLite isn't MVCC it would mean that for the whole duration that
> a client keeps such a cursor open, all other database connections will
> be more or less blocked from doing things.
> 
> This is why we don't support a cursor API.
> 
> You can emulate a cursor API with LIMIT and OFFSET, of course.
> 
>> How does libtracker-client handle this? What if the result set is too
>> big to fit in the client memory? Is there any sort of incremental
>> result returning ability or callback support with partial results? t
> 
> We at this moment don't provide this ourselves in libtracker-client.
> 
> LibQtTracker has a "streaming model" which will do this for you on a
> QAbstractDataModel as far as I know.
> 
> http://maemo.gitorious.org/maemo-af/libqttracker
> 
> 
> Cheers,
> 
> Philip
> 
> -- 
> Philip Van Hoof, freelance software developer
> home: me at pvanhoof dot be 
> gnome: pvanhoof at gnome dot org 
> http://pvanhoof.be/blog
> http://codeminded.be
> 

_______________________________________________
tracker-list mailing list
[email protected]
http://mail.gnome.org/mailman/listinfo/tracker-list

Reply via email to