There should be a way to get events for any dates / any contact, so you don't need to do many calls to _get_events_for_date_async(). One option would be to accept NULL in account, target and/or date in tpl_log_manager_get_events_for_date_async(). I need this to implement the mockup in https://bugzilla.gnome.org/show_bug.cgi?id=619866 in Empathy, since you can select one or both of anytime/anybody.
Hmm, loading the full database into RAM with a single call, that one is a little funny idea .... At least with the current API you get the query split into multiple call, which will allow displaying stuff before your done querying. Seriously, I think we should stick with that for now, as it keeps the UI usable (think of people that has couple of years of logs, it's going to take a while to read/parse/allocate all this).
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.