Author: michiel
Date: 2010-03-03 10:44:34 +0100 (Wed, 03 Mar 2010)
New Revision: 41247
Modified:
mmbase/trunk/core/src/main/java/org/mmbase/storage/search/ResultBuilder.java
Log:
Avoid referencing BasicQueries in caches, because they refer to a cloud, and
clouds may refer to I don't know what not.
Modified:
mmbase/trunk/core/src/main/java/org/mmbase/storage/search/ResultBuilder.java
===================================================================
---
mmbase/trunk/core/src/main/java/org/mmbase/storage/search/ResultBuilder.java
2010-03-03 09:43:24 UTC (rev 41246)
+++
mmbase/trunk/core/src/main/java/org/mmbase/storage/search/ResultBuilder.java
2010-03-03 09:44:34 UTC (rev 41247)
@@ -56,10 +56,17 @@
* @param mmbase MMBase instance.
* @param query The search query that defines the search.
*/
- public ResultBuilder(MMBase mmbase, SearchQuery query) {
+ public ResultBuilder(MMBase mmbase, SearchQuery q) {
super(mmbase);
- this.query = query;
+ // The ResultBuilder will be back referenced by nodes in the result of
an aggregate query.
+ // And this result may be cached.
+ // We don't want to cache 'Wrapped' queries (e.g. bridge.BasicQuery,
because they reference a Cloud).
+ while (q instanceof SearchQueryWrapper) {
+ q = ((SearchQueryWrapper)q).unwrap();
+ }
+ this.query = q;
+
// Create fieldsByAlias map.
for (StepField field : query.getFields()) {
String fieldAlias = field.getAlias();
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs