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
Thomas Bruederli
c3cfc084a7
Improve fetching contacts with new kolab_storage/cache backend
2012-05-16 10:49:53 +02:00
Thomas Bruederli
3a1f2c207c
Revert commit d08cb111
"Fixed working with disabled kolab_cache"
...
This reverts commit d08cb11137
.
2012-05-16 10:12:22 +02:00
Thomas Bruederli
4b5c2ce985
Add some fulltext searching capabilities to kolab_storage_cache and use them for search (autocompletion) in Kolab address books
2012-05-16 10:10:51 +02:00
Thomas Bruederli
dadf00f1a6
Merge branch 'dev/kolab3' of ssh://git.kolabsys.com/git/roundcube into dev/kolab3
2012-05-15 19:08:16 +02:00
Thomas Bruederli
e602722064
Save object words for fulltext searching in caching table
2012-05-15 19:08:01 +02:00
Aleksander Machniak
d08cb11137
Fixed working with disabled kolab_cache
2012-05-15 13:57:27 +02:00
Thomas Bruederli
0131c8aa51
Improve object fetching when cache is disabled
2012-05-09 19:12:26 +02:00
Thomas Bruederli
86c1d510f1
Add select() method to query objects from cache; Use locks to avoid multiple threads synching the same folder simultaneously
2012-05-09 19:01:51 +02:00
Thomas B
c9963d279c
Correctly handle object moving in kolab cache
2012-05-03 10:28:42 +02:00
Thomas B
3fc78aa409
Set mime-part ID when adding attachments
2012-05-02 18:04:42 +02:00
Thomas B
18d8fec133
First implementation of a caching layer for kolab_storage;
...
- Caching is disabled by default (until fully functional and tested)
- Attention: database initialization required for cache)
Silently ignore old Kolab2 objects if no Horde classes found to parse them.
2012-05-02 17:41:02 +02:00