OPENJPA-703: Support RangeResultObjectProvider for prepared query cache

git-svn-id: https://svn.apache.org/repos/asf/openjpa/trunk@814065 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Pinaki Poddar 2009-09-11 22:27:27 +00:00
parent 5120b0e629
commit ec90648e2b
2 changed files with 8 additions and 3 deletions

View File

@ -42,6 +42,7 @@ import org.apache.openjpa.kernel.QueryLanguages;
import org.apache.openjpa.kernel.StoreQuery; import org.apache.openjpa.kernel.StoreQuery;
import org.apache.openjpa.kernel.PreparedQueryCache.Exclusion; import org.apache.openjpa.kernel.PreparedQueryCache.Exclusion;
import org.apache.openjpa.kernel.exps.QueryExpressions; import org.apache.openjpa.kernel.exps.QueryExpressions;
import org.apache.openjpa.lib.rop.RangeResultObjectProvider;
import org.apache.openjpa.lib.rop.ResultList; import org.apache.openjpa.lib.rop.ResultList;
import org.apache.openjpa.lib.util.Localizer; import org.apache.openjpa.lib.util.Localizer;
import org.apache.openjpa.util.ImplHelper; import org.apache.openjpa.util.ImplHelper;
@ -212,10 +213,13 @@ public class PreparedQueryImpl implements PreparedQuery {
if (provider instanceof QueryImpl.PackingResultObjectProvider) { if (provider instanceof QueryImpl.PackingResultObjectProvider) {
provider = ((QueryImpl.PackingResultObjectProvider)provider).getDelegate(); provider = ((QueryImpl.PackingResultObjectProvider)provider).getDelegate();
} }
if (provider instanceof RangeResultObjectProvider) {
provider = ((RangeResultObjectProvider)provider).getDelegate();
}
if (provider instanceof SelectResultObjectProvider) { if (provider instanceof SelectResultObjectProvider) {
return new Object[]{((SelectResultObjectProvider)provider).getSelect(), null}; return new Object[]{((SelectResultObjectProvider)provider).getSelect(), null};
} }
return new Object[]{null, _loc.get("exclude-not-select-rop")}; return new Object[]{null, _loc.get("exclude-not-select-rop", provider)};
} }
private SelectImpl extractImplementation(SelectExecutor selector) { private SelectImpl extractImplementation(SelectExecutor selector) {

View File

@ -163,6 +163,7 @@ exclude-no-sql: because target SQL statement can not be extracted \
from this query. from this query.
exclude-no-select: because internal select instance can not be extracted \ exclude-no-select: because internal select instance can not be extracted \
from this query. from this query.
exclude-no-select-rop: because the query result is not obtained by executing \ exclude-not-select-rop: because the query result is not obtained by executing \
a select statement. This can happen if the query was evaluated in-memory. a select statement. This can happen if the query was evaluated in-memory. \
The result was provided by an instance of {0}.
exclude-not-executor: because this query was not executed on a data store. exclude-not-executor: because this query was not executed on a data store.