OPENJPA-1810: Merge performance changes from trunk.

git-svn-id: https://svn.apache.org/repos/asf/openjpa/branches/2.1.x@1044002 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Richard G. Curtis 2010-12-09 15:25:44 +00:00
parent d49c52b99f
commit 0a087b2679
4 changed files with 18 additions and 1 deletions

View File

@ -262,6 +262,10 @@ public class QueryCacheStoreQuery
return _query.newCompilation();
}
public Object getCompilation() {
return _query.getCompilation();
}
public void populateFromCompilation(Object comp) {
_query.populateFromCompilation(comp);
}
@ -331,7 +335,7 @@ public class QueryCacheStoreQuery
public ResultObjectProvider executeQuery(StoreQuery q, Object[] params,
Range range) {
QueryCacheStoreQuery cq = (QueryCacheStoreQuery) q;
Object parsed = cq.getDelegate().newCompilation();
Object parsed = cq.getDelegate().getCompilation();
QueryKey key = QueryKey.newInstance(cq.getContext(),
_ex.isPacking(q), params, _candidate, _subs, range.start,
range.end, parsed);

View File

@ -72,6 +72,10 @@ public abstract class AbstractStoreQuery
return null;
}
public Object getCompilation() {
return null;
}
public void populateFromCompilation(Object comp) {
}

View File

@ -154,6 +154,10 @@ public class ExpressionStoreQuery
return _parser.parse(ctx.getQueryString(), this);
}
public Object getCompilation() {
return _parsed;
}
public void populateFromCompilation(Object comp) {
_parser.populate(comp, this);
}

View File

@ -91,6 +91,11 @@ public interface StoreQuery
*/
public Object newCompilation();
/**
* Get the current compilation for this query. If it is null, do not create.
*/
public Object getCompilation();
/**
* Populate internal data from compilation.
*/