[Chandler-dev] Index coherence for floating events

Jeffrey Harris jeffrey at osafoundation.org
Wed Aug 2 15:48:00 PDT 2006


Hi Folks,

I just remembered that our current strategy for indexing events has a 
problem that I've been ignoring, but needs to be taken care of.

Currently we index events sorted by start time.  The sort applies to all 
events (ignoring recurrence for the moment).  There's an additional sort 
based on stripping all timezones off of events, for no-timezones mode.

Unfortunately the timezone sort is only accurate for floating events if 
the current timezone stays the same.  If the current timezone changes, 
floating events change their time relative to UTC, and the index is 
potentially sorted incorrectly.

We could:

- Have a floating collection and a non-floating collection, separately 
index, for timezone mode.

The challenge here is efficiently merging the two indexes, because 
selection in the table view needs random-access to reference the n-th 
event when sorted by time.

- Update the event index every time the current timezone is changed

This scales poorly with large numbers of floating events if floating 
events are randomly distributed with respect to non-floating events.

I'm hoping someone can suggest a better solution than either of these.

Sincerely,
Jeffrey


More information about the chandler-dev mailing list