Performance: Consolidate metadata requests (#3989)
This changes number of cache requests from 4 to 2 for each groupware folder.
Performance: Don't initialize all folders in driver constructor (#3971)
Fix regression in last optimisations
Performance: Optimize kolab_storage_folder::get_object() to use one sql query instead of two
Before the change to get an object by UID we first resolve UID to IMAP-UID
and then fetch the object data by IMAP-UID - two select queries. Now we
directly select the data by UID.
Performance: Limit number of SQL queries needed for "object relations update" operation
Performance: Limit number of SQL queries when "attaching" relations/tags to list of tasks/notes (#3969)
Performance: Optimize get_message_relations() to use one query per-folder less
Fix bug where in kolab_storage::select() could not initialize/reset folder cache properly
Performance: Skip another few cache selects
Performance: Get event-to-mail relations once per events list, instead of doing SELECT for every event (including recurrences)
Unify mail-relations handling across plugins
Performance: Use initialized calendars if available, skipping redundant folder cache synchronization
Performance: Don't initialize configuration folders until they are needed
Performance: Skip redundant SELECTs on mail preview and print pages
Performance: Skip some redundant SELECT queries on event update
Performance: Skip one SELECT query when deleting relations
Performance: Better displayname annotation handling
Performance: SKip some SQL queries on "empty" tasklist refresh
Performance: Make objects moving faster (less SQL and less IMAP operations) using COPYUID
Merge remote-tracking branch 'remotes/origin/dev/perf'