Author: ppoddar
Date: Mon May 18 12:46:53 2009
New Revision: 775924

URL: http://svn.apache.org/viewvc?rev=775924&view=rev
Log:
OPENJPA-703: ORDER BY queries are cachable

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

Modified: 
openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/kernel/PreparedQueryImpl.java
URL: 
http://svn.apache.org/viewvc/openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/kernel/PreparedQueryImpl.java?rev=775924&r1=775923&r2=775924&view=diff
==============================================================================
--- 
openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/kernel/PreparedQueryImpl.java
 (original)
+++ 
openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/kernel/PreparedQueryImpl.java
 Mon May 18 12:46:53 2009
@@ -172,10 +172,6 @@
                     _resultMapping.isEmbeddedOnly() || _resultClass.length > 
1))
                     return false;
             }
-            if (_id.toUpperCase().contains("ORDER BY") ||
-                (_resultMapping == null &&
-                 select.getSelects().size() != _resultClass.length))
-                return false;
         }
         SQLBuffer buffer = selector.getSQL();
         if (buffer == null)

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=775924&r1=775923&r2=775924&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 May 18 12:46:53 2009
@@ -157,6 +157,20 @@
         assertEquals(jpql,q2.getQueryString());
        }
 
+       public void testOrderByElementsAbsentInProjection() {
+           String jpql = "select c.name from Company c ORDER BY c.startYear";
+        OpenJPAEntityManager em = emf.createEntityManager();
+        OpenJPAQuery q1 = em.createQuery(jpql);
+        List l1 = q1.getResultList();
+        
+        PreparedQuery pq = getCache().get(jpql);
+        assertNotNull(pq);
+        OpenJPAQuery q2 = em.createQuery(jpql);
+        List l2 = q2.getResultList();
+        
+        assertEquals(l1.size(), l2.size());
+        assertEquals(l1.toString(), l2.toString());
+       }
        
        public void testExclusionPattern() {
                OpenJPAEntityManager em = emf.createEntityManager();


Reply via email to