You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openjpa.apache.org by pp...@apache.org on 2009/05/18 14:46:53 UTC
svn commit: r775924 - in /openjpa/trunk:
openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/kernel/PreparedQueryImpl.java
openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/sqlcache/TestPreparedQueryCache.java
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();