You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openjpa.apache.org by fa...@apache.org on 2009/02/06 22:26:34 UTC

svn commit: r741737 - /openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/TestOptimizeForClause.java

Author: fancy
Date: Fri Feb  6 21:26:32 2009
New Revision: 741737

URL: http://svn.apache.org/viewvc?rev=741737&view=rev
Log:
OPENJPA-703 add testcase for getSingleResult

Modified:
    openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/TestOptimizeForClause.java

Modified: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/TestOptimizeForClause.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/TestOptimizeForClause.java?rev=741737&r1=741736&r2=741737&view=diff
==============================================================================
--- openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/TestOptimizeForClause.java (original)
+++ openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/TestOptimizeForClause.java Fri Feb  6 21:26:32 2009
@@ -18,12 +18,12 @@
  */
 package org.apache.openjpa.persistence.jdbc;
 
+import javax.persistence.NoResultException;
 import javax.persistence.Query;
 
 import org.apache.openjpa.persistence.test.SQLListenerTestCase;
 import org.apache.openjpa.persistence.simple.AllFieldTypes;
 import org.apache.openjpa.persistence.OpenJPAPersistence;
-import org.apache.openjpa.persistence.OpenJPAEntityManager;
 import org.apache.openjpa.persistence.OpenJPAQuery;
 import org.apache.openjpa.persistence.InvalidStateException;
 import org.apache.openjpa.persistence.OpenJPAEntityManagerSPI;
@@ -39,17 +39,39 @@
         setUp(AllFieldTypes.class);
     }
 
+    public void testOptimizeForClauseViaGetSingleResult() {
+        OpenJPAEntityManagerSPI em = emf.createEntityManager();
+        DBDictionary dict = ((JDBCConfiguration) em.getConfiguration())
+            .getDBDictionaryInstance();
+
+        sql.clear();
+
+        try {
+            Object result = em.createQuery
+                ("select o from AllFieldTypes o where o.intField = 0").
+                getSingleResult();
+
+            assertNull(result);
+            if (dict instanceof DB2Dictionary ) {
+                assertContainsSQL(" optimize for 1 row");
+            }
+        } catch (NoResultException pe) {
+            ;
+        }
+        em.close();
+    }
+
     public void testOptimizeForClauseViaHint() {
-        testOptimizeForClause(true,false,false);
+        tstOptimizeForClause(true,false,false);
     }
 
     public void testOptimizeForClauseViaFind() {
-        testOptimizeForClause(false,true,false);
+        tstOptimizeForClause(false,true,false);
     }
     public void testOptimizeForClauseViaQueryHint() {
-        testOptimizeForClause(false,true,true);
+        tstOptimizeForClause(false,true,true);
     }
-    public void testOptimizeForClause(boolean hint,
+    public void tstOptimizeForClause(boolean hint,
         boolean find, boolean queryHint) {
         OpenJPAEntityManagerSPI em = emf.createEntityManager();
         DBDictionary dict = ((JDBCConfiguration) em.getConfiguration())