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
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

Open Source Applications Foundation "chandler-dev" mailing list
http://lists.osafoundation.org/mailman/listinfo/chandler-dev

Reply via email to