Hi
The documentation on caching (http://cayenne.apache.org/doc/caching-and-fresh-data.html 
  and http://cayenne.apache.org/doc/object-caching.html) isn't very  
comprehensive, it does not answer questions like:
- what is actually stored in cache pks? datarows ? objectIds ?
- does caching change when paging is on ?
- does caching require special measures when used with ROP ? (meaning  
the propagation of changes between contexts)
- how to properly use SelectQuery.setCacheGroups()? what happens when  
a query has more than one cache group specified?
- how long the cache entries sit in the memory, is there a way to  
invalidate all cache from time to time ?
- how to invalidate cache using RefreshQuery, the http://cayenne.apache.org/doc/refreshquery.html 
  is just a list of suggestions on how it might work in the future.
Me and Ari are willing to document the caching feature, but we would  
need some help.
Another issue is that the following code wont refresh cache:
context.performQuery(new SelectQuery(abc));
context.performQuery(new RefreshQuery(new SelectQuery(abc)));
context.performQuery(new SelectQuery(abc));
while this will:
SelectQuery sq = new SelectQuery(abc);
context.performQuery(sq);
context.performQuery(new RefreshQury(sq));
context.performQuery(sq);
Does it mean that if the setCacheGroups or query name is not specified  
the cache engine uses hashcode() as query/cache entry identifier ?  
This would mean that a query cannot be successfully cached between two  
ROP clients.
With regards
Marcin
This archive was generated by hypermail 2.0.0 : Mon Mar 03 2008 - 18:26:39 EST