Author: ppoddar
Date: Mon Nov 16 18:27:20 2009
New Revision: 880891

URL: http://svn.apache.org/viewvc?rev=880891&view=rev
Log:
OPENJPA-1381: Ignore preapared query if lock mode changes

Modified:
    
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/sqlcache/TestPreparedQueryCache.java
    
openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/QueryImpl.java

Modified: 
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/sqlcache/TestPreparedQueryCache.java
URL: 
http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/sqlcache/TestPreparedQueryCache.java?rev=880891&r1=880890&r2=880891&view=diff
==============================================================================
--- 
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/sqlcache/TestPreparedQueryCache.java
 (original)
+++ 
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/sqlcache/TestPreparedQueryCache.java
 Mon Nov 16 18:27:20 2009
@@ -751,6 +751,7 @@
         em.getTransaction().begin();
         Query q2 = em.createQuery(jpql);
         assertEquals(QueryLanguages.LANG_PREPARED_SQL, 
OpenJPAPersistence.cast(q2).getLanguage());
+        q2.getLockMode();
         q2.setLockMode(LockModeType.OPTIMISTIC);
         assertEquals(JPQLParser.LANG_JPQL, 
OpenJPAPersistence.cast(q2).getLanguage());
         List<Author> authors2 = q2.getResultList();

Modified: 
openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/QueryImpl.java
URL: 
http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/QueryImpl.java?rev=880891&r1=880890&r2=880891&view=diff
==============================================================================
--- 
openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/QueryImpl.java
 (original)
+++ 
openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/QueryImpl.java
 Mon Nov 16 18:27:20 2009
@@ -377,9 +377,12 @@
         */
        void assertJPQLOrCriteriaQuery() {
         String language = getLanguage();
-        if (!(JPQLParser.LANG_JPQL.equals(language) || 
CriteriaBuilderImpl.LANG_CRITERIA.equals(language))) {
-            throw new 
IllegalStateException(_loc.get("not-jpql-or-criteria-query").getMessage());
+        if (JPQLParser.LANG_JPQL.equals(language) 
+         || QueryLanguages.LANG_PREPARED_SQL.equals(language)
+         || CriteriaBuilderImpl.LANG_CRITERIA.equals(language)) {
+            return;
         }
+        throw new 
IllegalStateException(_loc.get("not-jpql-or-criteria-query").getMessage());
        }
 
        public OpenJPAQuery<X> closeAll() {


Reply via email to