You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openjpa.apache.org by ht...@apache.org on 2011/06/10 22:53:51 UTC
svn commit: r1134440 - in
/openjpa/branches/2.1.x/openjpa-persistence/src/main/java/org/apache/openjpa/persistence:
EntityManagerImpl.java QueryImpl.java
Author: hthomann
Date: Fri Jun 10 20:53:51 2011
New Revision: 1134440
URL: http://svn.apache.org/viewvc?rev=1134440&view=rev
Log:
OPENJPA-1999: Optional support for non-sequential positional parameters - made additional changes, per Mike Dick, to QueryImpl ctor.
Modified:
openjpa/branches/2.1.x/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/EntityManagerImpl.java
openjpa/branches/2.1.x/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/QueryImpl.java
Modified: openjpa/branches/2.1.x/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/EntityManagerImpl.java
URL: http://svn.apache.org/viewvc/openjpa/branches/2.1.x/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/EntityManagerImpl.java?rev=1134440&r1=1134439&r2=1134440&view=diff
==============================================================================
--- openjpa/branches/2.1.x/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/EntityManagerImpl.java (original)
+++ openjpa/branches/2.1.x/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/EntityManagerImpl.java Fri Jun 10 20:53:51 2011
@@ -1067,8 +1067,7 @@ public class EntityManagerImpl
}
protected <T> QueryImpl<T> newQueryImpl(org.apache.openjpa.kernel.Query kernelQuery) {
- return new QueryImpl<T>(this, _ret, kernelQuery, _convertPositionalParams
- && !kernelQuery.getLanguage().equals(QueryLanguages.LANG_SQL));
+ return new QueryImpl<T>(this, _ret, kernelQuery);
}
/**
Modified: openjpa/branches/2.1.x/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/QueryImpl.java
URL: http://svn.apache.org/viewvc/openjpa/branches/2.1.x/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/QueryImpl.java?rev=1134440&r1=1134439&r2=1134440&view=diff
==============================================================================
--- openjpa/branches/2.1.x/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/QueryImpl.java (original)
+++ openjpa/branches/2.1.x/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/QueryImpl.java Fri Jun 10 20:53:51 2011
@@ -45,6 +45,7 @@ import javax.persistence.TemporalType;
import javax.persistence.TypedQuery;
import javax.persistence.criteria.ParameterExpression;
+import org.apache.openjpa.conf.Compatibility;
import org.apache.openjpa.conf.OpenJPAConfiguration;
import org.apache.openjpa.kernel.Broker;
import org.apache.openjpa.kernel.DelegatingQuery;
@@ -93,7 +94,7 @@ public class QueryImpl<X> implements Ope
private transient ReentrantLock _lock = null;
private HintHandler _hintHandler;
private boolean _relaxBindParameterTypeChecking;
- final private boolean _convertPositionalParams;
+ private boolean _convertPositionalParams;
/**
* Constructor; supply factory exception translator and delegate.
@@ -102,12 +103,18 @@ public class QueryImpl<X> implements Ope
* @param ret Exception translator for this query
* @param query The underlying "kernel" query.
*/
- public QueryImpl(EntityManagerImpl em, RuntimeExceptionTranslator ret, org.apache.openjpa.kernel.Query query,
- boolean convertPositionalParams) {
+ public QueryImpl(EntityManagerImpl em, RuntimeExceptionTranslator ret, org.apache.openjpa.kernel.Query query) {
_em = em;
_query = new DelegatingQuery(query, ret);
_lock = new ReentrantLock();
- _convertPositionalParams = convertPositionalParams;
+ if(query.getLanguage() == QueryLanguages.LANG_SQL) {
+ _convertPositionalParams = false;
+ }
+ else {
+ Compatibility compat = query.getStoreContext().getConfiguration().getCompatibilityInstance();
+ _convertPositionalParams = compat.getConvertPositionalParametersToNamed();
+ }
+
}
/**
@@ -115,8 +122,8 @@ public class QueryImpl<X> implements Ope
*
* @deprecated
*/
- public QueryImpl(EntityManagerImpl em, org.apache.openjpa.kernel.Query query, boolean convertPositionalParams) {
- this(em, null, query, convertPositionalParams);
+ public QueryImpl(EntityManagerImpl em, org.apache.openjpa.kernel.Query query) {
+ this(em, null, query);
}
/**