GNOME Bugzilla – Bug 794108
ETimezoneCache only grows
Last modified: 2018-07-16 07:53:34 UTC
With a fix for a downstream bug: https://bugzilla.redhat.com/show_bug.cgi?id=1547743 I realized that the local timezone cache only grows, it never frees anything from its content. The worse in case of evolution-ews is that it cannot reuse existing time zones, thus one time zone entry can be there as many times as many components uses it. There should be added functions to: - remove single timezone - search for a timezone by the timezone string and location - eventually "reference-count" the timezone in the database and automatically remove them when all the components using them will be removed from the cache It will be surely better to have there some automatic processing around it, instead of implementing the functionality in each implementation of the ETimezoneCache interface (or in ECalMetaBackend).
Let's have this at least for the ECalMetaBackend. Created commit 0ef4b50bc in eds master (3.29.3+)
One follow up change for an issue when older eds is run and "downgrades" the cache version, while it keeps the timezones table as is, which can mean that when the new eds is run it tries to add the 'refs' column, which is already there, thus the run fails and the calendar is not opened. To support this "downgrade" and upgrade, the below change had been done: Created commit c4ba0ee5 in eds master (3.29.4+)