Thomas Bruederli
|
cb8249d414
|
Rename kolab_folders.ID to kolab_folders.folder_id to be in sync with other Roundcube database conventions
|
2013-10-07 20:06:04 +02:00 |
|
Thomas Bruederli
|
6b89e36c4e
|
Merge remote-tracking branch 'origin/libkolab-cache-bypass' into dev/kolab-cache-refactoring
|
2013-10-07 17:34:17 +02:00 |
|
Aleksander Machniak
|
71619510c4
|
Improve bypass() method so it works "recursively"
|
2013-10-07 15:57:55 +02:00 |
|
Aleksander Machniak
|
9d174daf9f
|
Add option kolab_messages_cache_bypass
|
2013-10-07 15:05:34 +02:00 |
|
Thomas Bruederli
|
cc21e9161c
|
Fix typo introduced in commit 8680256c54
|
2013-10-07 14:59:20 +02:00 |
|
Thomas Bruederli
|
4f69556b71
|
Only set sync lock if folder hash changed
|
2013-10-07 14:31:48 +02:00 |
|
Aleksander Machniak
|
8680256c54
|
Fix enabled imap threading mode when synchronizing kolab folder (Bug #2323)
|
2013-10-07 13:41:10 +02:00 |
|
Thomas Bruederli
|
20a731c540
|
Minor code improvements
|
2013-10-07 12:12:23 +02:00 |
|
Thomas Bruederli
|
b72709a5cf
|
Lazy read kolab_folder record from DB; fix error when mass-inserting cache records
|
2013-10-07 11:59:00 +02:00 |
|
Aleksander Machniak
|
16d9509a5d
|
Improved performance of kolab cache by bypassing Roundcube messages cache (Request #1740)
|
2013-10-07 09:56:06 +02:00 |
|
Thomas Bruederli
|
b7d4731d97
|
Let the derrived kolab_storage_cache classes provide the contents of their custom cache record fields
|
2013-10-04 19:32:21 +02:00 |
|
Thomas Bruederli
|
87335f387f
|
Split kolab_cache table into folder-type specific tables and specialized kolab_storage_cache_* classes; the object type is now implicit
|
2013-10-04 17:14:34 +02:00 |
|
Thomas Bruederli
|
1a957820c4
|
Update resource URI of cache entries when renaming a folder (#2269)
|
2013-09-26 10:47:21 +02:00 |
|
Aleksander Machniak
|
c7dfb7c042
|
Fix INSERT undefined values for NOT NULL columns (Bug #2038)
|
2013-07-31 14:32:54 +02:00 |
|
Aleksander Machniak
|
bc4d15ab55
|
De-duplicate binary content when saving in database (#1749)
|
2013-06-17 15:44:17 +02:00 |
|
Aleksander Machniak
|
b602913ce3
|
Improve performance by reading max_allowed_packet variable (SHOW VARIABLES query) only if needed
|
2013-06-11 14:52:10 +02:00 |
|
Thomas Bruederli
|
44c19b496c
|
Replace recursive calls with while loop when waiting for sync-lock (#1637)
|
2013-05-27 17:27:53 +02:00 |
|
Aleksander Machniak
|
1857a64d4f
|
Fix undefined variable related errors caught in static code analysis
|
2013-05-07 12:56:18 +02:00 |
|
Aleksander Machniak
|
5f306222f2
|
Suppoprt more complicated cache queries, e.g. AND (tags LIKE ' tag1 ' OR tags LIKE ' tag2 ')
|
2013-04-22 15:52:37 +02:00 |
|
Aleksander Machniak
|
e03156fc1f
|
Implemented new method of storing filename and mimetype of file objects
|
2013-04-19 14:20:55 +02:00 |
|
Thomas Bruederli
|
5b4c9500d1
|
Make some metadata from the Kolab storage backend available to the library user
|
2013-02-21 11:18:59 +01:00 |
|
Aleksander Machniak
|
f210104dda
|
Cache in-memory objects returned by select()
|
2012-11-15 12:40:27 +01:00 |
|
Thomas Bruederli
|
79d71d0731
|
Always use Kolab format v3 for caching
|
2012-11-09 13:57:54 +01:00 |
|
Thomas Bruederli
|
f91e6ed831
|
Use generic escape() function to quote UIDs
|
2012-11-08 14:41:37 +01:00 |
|
Thomas Bruederli
|
6d75fdd5f3
|
Quote object UID for IMAP SEARCH command; read generated UID from XMLObject if we're working with libkolab bindings
|
2012-11-08 14:03:06 +01:00 |
|
Thomas Bruederli
|
d98e8787c6
|
Fix kolab_format_* classes to read v2 format; perpare kolab_storage to write out v2 format
|
2012-11-06 19:03:12 +01:00 |
|
Thomas Brüderli
|
b4ced09d2e
|
Make use of libkolab/libcalendaring PHP bindings for computing recurring events
|
2012-10-23 15:05:38 +02:00 |
|
Aleksander Machniak
|
8fa4ddb8f0
|
Fix clearing the cache on object delete (#912)
|
2012-08-02 13:01:10 +02:00 |
|
Thomas Bruederli
|
b23453e3ec
|
Also use DateTime values for recurrence rules; explicitly set last-modified times when savng an object
|
2012-07-06 16:38:40 +02:00 |
|
Thomas Bruederli
|
16770f3612
|
Compute the real end date-time of a recurring event for caching
|
2012-07-04 15:57:19 +02:00 |
|
Thomas Bruederli
|
8961bf3147
|
Merge branch 'master' of ssh://git.kolabsys.com/git/roundcube
|
2012-06-27 10:52:40 +02:00 |
|
Thomas Bruederli
|
290d0f113f
|
Use explicit insert() method to skip delete query when caching a newly created object (updated objects get new msguids and are de-facto new)
|
2012-06-26 16:54:04 +02:00 |
|
Aleksander Machniak
|
fbcf125418
|
Reset 'synclock' flag in _sync_unlock(), so the query isn't executed in shutdown function when not needed
|
2012-06-26 15:27:26 +02:00 |
|
Thomas Bruederli
|
464b4961cc
|
Save last-modified date (aka 'changed') in cache and allow to use it in queries (#847)
|
2012-06-22 15:37:09 +02:00 |
|
Thomas Bruederli
|
078b953953
|
Add getter for a list of object UIDs (#848)
|
2012-06-20 18:47:01 +02:00 |
|
Thomas Bruederli
|
6d1f67ad92
|
Allow complex queries for kolab_storage_folder::count(); fix row counting from SQL
|
2012-06-20 15:32:23 +02:00 |
|
Thomas Bruederli
|
d19ee85667
|
Save created timestamp with every cache entry
|
2012-06-08 17:49:25 +02:00 |
|
Thomas Bruederli
|
529d16eac3
|
Cache start/due dates for task objects
|
2012-06-08 14:10:46 +02:00 |
|
Thomas Bruederli
|
2ad9e2e1ba
|
- Small refactoring: build words index in common kolab_format_xcal class
- Define tags to be cached with task objects
- Allow to query cache with NOT LIKE (!~) queries
|
2012-06-08 13:15:10 +02:00 |
|
Aleksander Machniak
|
3f3cf6bc65
|
Use Roundcube Framework where applicable, so we can use this code out of Roundcube
|
2012-06-05 09:15:23 +02:00 |
|
Thomas Bruederli
|
f53a1662e3
|
Strip white-space from xml when caching
|
2012-05-30 14:24:23 +02:00 |
|
Thomas Bruederli
|
6bbb34b3ae
|
Use regex-like syntax for LIKE queries to kolab_storage_cache; also use it for calendar search
|
2012-05-30 09:13:24 +02:00 |
|
Thomas Bruederli
|
e9be3f05ff
|
Read 'max_allowed_packet' from mysql config (requires latest HEAD of Roundcube core)
|
2012-05-26 15:37:35 +02:00 |
|
Thomas Bruederli
|
b5b26e6800
|
Always add type parameter to cache queries (#799); remove last parameter from set()
|
2012-05-26 15:20:41 +02:00 |
|
Thomas Bruederli
|
27a4061c99
|
Optimize cache synchronization by using extended SQL inserts (#798)
|
2012-05-26 15:15:17 +02:00 |
|
Thomas Bruederli
|
fab0c00194
|
Merge branch 'master' of ssh://git.kolabsys.com/git/roundcube
|
2012-05-25 18:09:12 +02:00 |
|
Thomas Bruederli
|
06d970836c
|
Improve cache synchronization: fetch + insert in one row, increase time limit, unlock on script shutdown (#798)
|
2012-05-25 18:08:42 +02:00 |
|
Aleksander Machniak
|
3a0e3a6e80
|
Don't unset lock create date, this won't work with PostgreSQL
|
2012-05-25 10:43:13 +02:00 |
|
Thomas Bruederli
|
9da61e6d4b
|
Reduce code redundancy: implement load() and write() method in parent class kolab_format; do more error checking
|
2012-05-22 10:14:56 +02:00 |
|
Thomas Bruederli
|
e379aaafc1
|
Code cleanup: define private members and default DB values; set kolab_format reference to new objects
|
2012-05-16 14:16:29 +02:00 |
|