[Gpe-list] Rationalising tasks databases

Neal H. Walfield neal at walfield.org
Sat Dec 30 22:44:56 CET 2006


At Sat, 30 Dec 2006 21:55:14 +1100,
Matthew Palmer wrote:
> The first thing to do is to rationalise the databases, so that the timesheet
> tasks can be stored in the tododb.  As far as I can tell, the only database
> field that's missing from the tododb when compared to the timesheet db is
> the parent task ID.  This seems like a fairly simple change to make to
> libtododb.

Personally, I'd like to see libeventdb be a bit generalized so that it
can handle both events and todos.  First, semantically, there is not
that much separating them.  Second, I completely rewrote libevent some
months ago to improve its correctness, robustness and efficiency.  In
particular, it now avoids exposing most internal details, has improved
memory usage and allows concurrent access and update for events.  It's
still not perfect but I think it is better engineered.  Further, as
libtododb has the same deficiencies as libeventdb did before I began
hacking on it--it was just a fork of libeventdb specialized for todo
events as opposed to calendar events--libtododb could use some similar
love as I gave libeventdb.  Integrating into libeventdb would get
these advantages for free.

If you find this approach reasonable, the first thing to do is to take
a look at libeventdb's API and articulate what extensions are required
to manipulate todos and how (and when) to distinguish them for events.
It might require an soname bump but that's not a big deal to me: we
still haven't made a proper release with the new libevent-db code.

Thanks,
Neal




More information about the Gpe-list mailing list